IPB

Willkommen, Gast ( Anmelden | Registrierung )

> PHP-Frage Formmailer
amethyst
Beitrag 20.02.2005 - 2:08
Beitrag #1


Kann auf gar keinen Fall einen Videorekorder programmieren!
***

Gruppe: User
Beiträge: 210
Mitglied seit: 08.12.2003
Wohnort: Bad Zwischenahn
Mitglieds-Nr.: 1.751



Hi Ihr,
ich will auf meinen Seiten eine Newsletter-Bestellung einbauen. Das klappt auch, aber, es klappt leider auch dann, wenn die Seite nur aufgerufen wird. Ergo ich mach was falsch. ;-))

Ich hoffe Ihr könnt mir helfen, hier der Code:

QUELLTEXT
<?php
 $admin= 'amethyst@amethyst-edv.de';
 $subject= 'Newsletter-Bestellung';
 $message= 'Nachrichten an '.$admin.' von '.$email.":\n\n";
 foreach($HTTP_POST_VARS as $name=> $value) {
   $message.= "$name:$value\n";
 }
 mail($admin, $subject, $message, "From: $email");

?>
<form method="post" action="mail.php">
<table height="120" width="150" class="news" border="0" >
<tr>
<td align="center"> <span style="text-align:center;color:white;font-weight:bold;font-size:x-small;">E-Mail:</span><br>
 <input class="text" size="10" type="text" name="email"><br><br>

 <input class="senden" type="submit" name="senden" value="Senden"> </td>
</tr>
</table>
</form>


Ich krieg also bei jedem Seitenaufruf eine Bestellung, logischerweise ohne email-adresse. Irgendwas fehlt da, wenn eine Adresse eingetragen wird, wird auf eine andere Seite weitergeleitet, wo es dann auch wieder zurück auf die Ursprungsseite geht, Erfolg? Eine leere Newsletterbestellung.

Ihr habt sicher die Lösung, was da nicht richtig ist, bzw. was da fehlt.

Lieber Gruß Uschi

Der Beitrag wurde von amethyst bearbeitet: 20.02.2005 - 2:08
Go to the top of the page
 
+Quote Post
 
Start new topic
Antworten
Auge
Beitrag 20.02.2005 - 13:05
Beitrag #2


Anwärter auf W3.org Mitgliedschaft
*****

Gruppe: User
Beiträge: 550
Mitglied seit: 28.11.2001
Wohnort: Berlin Friedrichshain
Mitglieds-Nr.: 107



Hallo Uschi

ZITAT(amethyst @ 20.02.2005 - 2:08)
QUELLTEXT
<?php
 $admin= 'amethyst@amethyst-edv.de';
 $subject= 'Newsletter-Bestellung';
 $message= 'Nachrichten an '.$admin.' von '.$email.":\n\n";
 foreach($HTTP_POST_VARS as $name=> $value) {
   $message.= "$name:$value\n";
 }
 mail($admin, $subject, $message, "From: $email");

?>


Ich krieg also bei jedem Seitenaufruf eine Bestellung, logischerweise ohne email-adresse. Irgendwas fehlt da, wenn eine Adresse eingetragen wird, wird auf eine andere Seite weitergeleitet, wo es dann auch wieder zurück auf die Ursprungsseite geht, Erfolg? Eine leere Newsletterbestellung.

Ihr habt sicher die Lösung, was da nicht richtig ist, bzw. was da fehlt.


Was da fehlt ist eine Bedingung, unter der die Email versandt wird.
QUELLTEXT
<?php
if (isset($_POST["send"]) and $_POST["send"]=="Eintragen")
  {
  // Vorbereitung zum mailen
  mail($to,$subject,$message,$header);
  }
?>
<form ...>
<!-- das Newsletteranmeldeformular -->
...
<input type="submit" name="send" value="Eintragen">
</form>


So wie du es geschrieben hast, wird die Email, im wahrsten Sinne des Wortes, unbedingt versandt.

Tschö, Auge

Der Beitrag wurde von Auge bearbeitet: 20.02.2005 - 13:06
Go to the top of the page
 
+Quote Post
amethyst
Beitrag 21.02.2005 - 0:36
Beitrag #3


Kann auf gar keinen Fall einen Videorekorder programmieren!
***

Gruppe: User
Beiträge: 210
Mitglied seit: 08.12.2003
Wohnort: Bad Zwischenahn
Mitglieds-Nr.: 1.751



Hallo Ihr,
danke für die Codes, ich melde mich morgen, ob es jetzt klappt und wie ich es gelöst habe ;-))

Ich bin mir nicht ganz sicher, ob der Code von Auge alles ist oder ob da meiner noch dazu muss ;-)) Ich bin nämlich völlig ahnungslos, was php betrifft. Aber ich werde alle Eure Tipps ausprobieren ;-)) Nur nicht mehr jetzt ;-))

Ich hab keine Benachrichtigungen bekommen, ich schau jetzt aber mal in mein Profil, ob ich da was umstellen muss. Ich hatte mich schon gewundert, dass sich so gar nichts tat.

Lieber Gruß Uschi
Go to the top of the page
 
+Quote Post
Auge
Beitrag 21.02.2005 - 12:30
Beitrag #4


Anwärter auf W3.org Mitgliedschaft
*****

Gruppe: User
Beiträge: 550
Mitglied seit: 28.11.2001
Wohnort: Berlin Friedrichshain
Mitglieds-Nr.: 107



ZITAT(amethyst @ 21.02.2005 - 0:36)
Ich bin mir nicht ganz sicher, ob der Code von Auge alles ist oder ob da meiner noch dazu muss wink.gif) Ich bin nämlich völlig ahnungslos, was php betrifft. Aber ich werde alle Eure Tipps ausprobieren wink.gif) Nur nicht mehr jetzt wink.gif)


Hallo Uschi

Mein Code ist kein vollständiges Skript. Die Codeteile, die den Versand der Email vorbereiten, z.B. das Zusammensetzen des Emailbodys müsste dort stehen, wo ich den Kommentar hingeschrieben habe.
Ich wollte dir nur aufzeigen, dass es einer Bedingung bedarf, festzulegen, wann der Versand der Email erfolgt. Die Bedingung ist das Vorhandensein der Variable $_POST["send"] und der erfolgreiche Vergleich mit dem String "Eintragen", wenn so auch die Beschriftung des Buttons zum Absenden lautet und dieser mit "send" benamst ist.

Wenn beides zutrifft, solltest du sicher sein können, dass das Formular soeben abgesandt wurde. Somit kannst du die Überprüfung der Werte, den Eintrag und den folgenden Versand der Email anwerfen.

Tschö, Auge
Go to the top of the page
 
+Quote Post

Beiträge in diesem Thema


Reply to this topicStart new topic
1 Besucher lesen dieses Thema (Gäste: 1 | Anonyme Besucher: 0)
0 Mitglieder:

 



RSS Vereinfachte Darstellung Aktuelles Datum: 15.05.2025 - 6:22

taschenkalender
expertise-panel IPS Driver Error

IPS Driver Error

There appears to be an error with the database.
You can try to refresh the page by clicking here