![]() |
Willkommen, Gast ( Anmelden | Registrierung )
![]() |
![]()
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 |
|
|
![]() |
![]()
Beitrag
#2
|
|
Kommt Zeit, kommt Rat, kommt Conrad! ![]() Gruppe: Mods Beiträge: 1.169 Mitglied seit: 21.11.2001 Wohnort: Altenkirchen, Westerwald Mitglieds-Nr.: 42 ![]() |
Hi Uschi,
im Grunde gibt es zwei Möglichkeiten so ein Formular zu gestalten. Wenn die Formularseite eine php-Seite ist, muß sie zunächst an sichselbst zurückgegeben werden, um anschließend fehlermeldungen, ok und e-Mail generieren zu können. Oder, Du schreibst eine normale HTML Seite, der ein Formular enthält mit allen Feldern die Du darin haben möchtest. Klickt der User nun auf *Senden* wird der im Formular geschriebenen Inhalt ein PHP-Script übergeben, welches nicht nur die Mail generiert die dann zu Dir kommt, sondern auch kontrolieren kann ob alle Felder entsprechend ausgefüllt wurden. Alle Formulare auf meine Webseite sind so aufgebaut. Ein Beispiel:>>HIER<< Versuche mal dieses Formular einfach so, oder nur teilweise ausgefüllt zu versenden... Du wirst sehen, es wird eine Fehlermeldung ausgegeben. Diese Fehlermeldung kommt von diesem Script: www.trimmelterhof.de/scripts/forms/jackform.php Das gleiche Script gibt auch das ok, wenn alles richtig scheint, um es alsdann in e-Mail form an mich zu senden. Die Quellcode der Formularseite kannst Du von der Webseite Kopieren und Deine Zwecke anpassen. Die Quellcode des Scriptes solltest Du ebenfalls Deine bedürfnisse anpassen; Du findest sie hierunten, es ist weitestgehend mit Kommentare versehen (rot) und (fast) Selbstklärend: HTML <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <TITLE>Trimmelterhof-Team-Jacken</TITLE> </HEAD> <BODY CLASS="first"> <DIV ID="all"> <!--Seitenkopf--> Bla Bla <!--Ende Seitenkopf--> <DIV ID="content"> <H2>Bestellformular</H2> <p> </p> <? /*<!--Das Formular wird gesendet an:-->*/ $webmaster = "conrad@trimmelterhof.de"; /*<!-- E-Mail-Adresse als Absender -->*/ $absender = "Teamjacken"; /* <!--IP bestimmen -->*/ $ip = getenv('REMOTE_ADDR'); /*<!-- IP aufloesen und Host bestimmen -->*/ $host = gethostbyaddr($ip); /*<!-- Zeit bestimmen -->*/ $zeit = date("d.m.Y H:i:s"); /*<!--Formatierung der Mail-->*/ /*<!--Betreff-->*/ $betreffwebmaster = "Team-Jackenbestellung"; /*<!--Textkoerper-->*/ $koerperwebmaster = " ********** Formularangaben **************** Anrede $Status Name $nachname Strasse $Strasse Ort $PLZ $Ort Telefon $Telefon e-Mail $mail von Seite: $subject Konfektionsgroesse: $konfektion Zahlung akzeptiert: $zahlung Text: $nachricht *********** Ende Angaben **************** "; /*<!--Formatierung der Copy-Mail-->*/ /*<!--Betreff-->*/ $betreffabsender = "Jackenbestellung"; /*<!--Textkoerper-->*/ $koerperabsender = "Sie haben folgende Nachricht versandt:\n $nachricht\n"; /* <!--Fehlermeldungen -->*/ $mailfalsch = "<H3 class='red'>Fehler!</H3><p>Ist diese E-Mail-Adresse wirklich richtig?</p><p>Bitte kontrollieren Sie noch einmal die Eingabe und senden Sie dann das Formular erneut ab.</P><center><FORM NAME='Zurück' ACTION='javascript:history.go(-1)'><INPUT TYPE='submit' VALUE='Zurück zum Formular'></FORM></center>"; /*<!-- Fehlermeldungen der Felder-->*/ $felderleer = "<H3 class='red'>Fehler!</H3><p>Ihre Bestellung konnte nicht versendett werden, da nicht alle erforderliche Adressfelder ausgefüllt wurden.</p><center><FORM NAME='Zurück' ACTION='javascript:history.go(-1)'><INPUT TYPE='submit' VALUE='Zurück zum Formular'></FORM></center>"; /*<!-- Fehlermeldungen der Checkboxen-->*/ $checkboxleer = "<H3 class='red'>Fehler!</H3><p>Ihre Bestellung konnte nicht versendet werden, da entweder die Konfektionsgröße nicht angegeben, und / oder die Checkbox der Zahlungsbedingungen nicht angekreuzt wurde(n).</p><center><FORM NAME='Zurück' ACTION='javascript:history.go(-1)'><INPUT TYPE='submit' VALUE='Zurück zum Formular'></FORM></center>"; /*<!--Erfolgsmeldung-->*/ $abgesandt = "<H3 class='grn'>Danke,</H3><H3>Ihre Bestellung wurde erfolgreich versendet.</H3>"; /*<!--Sind alle Felder ausgefuellt? -->*/ if ($nachname == "" || $Strasse == "" || $PLZ == "" || $Ort == "" || $Telefon == "" || $mail == "") { /*<!--nein-->*/ echo "$felderleer"; } else { /*<!--Checkboxen ok?-->*/ if ($konfektion == "" || $zahlung == "") { /*<!--nein-->*/ echo "$checkboxleer"; } else { /*<!--ja-->*/ /*Ist die E-Mail-Adresse richtig?-->*/ if (ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,3})$", $mail)) { /*<!--E-Mail-Adresse ist richtig-->*/ mail("$webmaster","$betreffwebmaster","$koerperwebmaster\n","FROM: $absender\n"); /*<!--Kopie an Absender?-->*/ if ($kopie == "ja") { mail("$mail","$betreffabsender","$koerperabsender","FROM: $absender\n"); echo "$abgesandt"; } else { echo "$abgesandt"; } } else { /*<!--nein-->*/ echo "$mailfalsch"; } } } ?> <P> </P> <!--Seitenfuss--> Bla Bla <!--Ende Fuss--> </BODY> </HTML> Einfach mal ausbropieren. Viel Spaß! cu Conny |
|
|
![]()
Beitrag
#3
|
|
is getting harder Gruppe: User Beiträge: 26 Mitglied seit: 24.09.2004 Mitglieds-Nr.: 3.770 ![]() |
eventuell Zeile 8 ersetzen mit
QUELLTEXT if($email!='') mail($admin, $subject, $message, "From: $email"); MfG |
|
|
![]()
Beitrag
#4
|
|
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 |
|
|
![]()
Beitrag
#5
|
|
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 |
|
|
![]()
Beitrag
#6
|
|
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 ![]() ![]() ![]() 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 |
|
|
![]()
Beitrag
#7
|
|
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 ![]() |
Danke an alle,
an Conny für die Mühe alles auszukommentieren, an Auge für die Unterstützung und an hondocrx. Ich habe es gelöst und gereicht hat wirklich die eine Zeile von hondocrx. @ Conny Dank Dir ganz herzlich, dieses Script werde ich verwenden, wenn ich jemals dahin komme, dass meine Kurse online gebucht werden können ![]() @ Auge Ich hab zwar verstanden, was Du mir sagen wolltest, aber ich konnte es nicht umsetzen, was wahrscheinlich daran liegt, dass ich vorher schon getrickst hatte ![]() Ich hab nämlich, weil ich irgendwann geschnallt habe, dass auf die gleiche Seite zurück gegangen wird und ich das nicht wollte, eine 2. Seite geschaffen mit dem gleichen code und auf der Seite als Inhalt den dank für die Besteller untergebracht und dann mit einem winzigen Java-Script (nicht erschlagen) zur Ausgangsseite zurück verlinkt wird. Der Grund dafür ist, dass die Newsletterbestellung auf jeder Seite unter dem Menü platziert, aber nur auf eine Seite zugegriffen werden soll, sonst funktioniert das nämlich nicht als include ![]() @ hondocrx Danke für die einfache und doch praktikable Lösung ![]() Lieber Gruß Uschi P.S. Wenn mir jetzt noch einer verrät, wie ich mein Profil so einstellen muss, dass ich wieder Mail-Benachrichtigungen erhalte, bin ich erstmal (lange sicher nicht ![]() ![]() Der Beitrag wurde von amethyst bearbeitet: 21.02.2005 - 23:45 |
|
|
![]()
Beitrag
#8
|
|
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 - 23:44) @ hondocrx Danke für die einfache und doch praktikable Lösung ![]() Denke aber dran, dass so nur geprüft wird, ob das Feld für die Email nicht leer übergeben wurde. ZITAT(amethyst @ 21.02.2005 - 23:44) P.S. Wenn mir jetzt noch einer verrät, wie ich mein Profil so einstellen muss, dass ich wieder Mail-Benachrichtigungen erhalte, bin ich erstmal (lange sicher nicht ![]() ![]() Tja, das ist mir momentan auch ein wenig suspekt. Ich bekomme auch keine Emails mehr, auch meine Cookies werden vom Server gelegentlich vergessen, so dass ich mich neu einloggen muss, auch wenn ich mich beim letzten Besuch nicht ausgeloggt habe. und selbst nach dem neuen einloggen bei erfolgtem ausloggen werden mir gelegentlich bereits gelesene Postings als neu präsentiert. Irgendwie scheint in der neuen Boardversion der Wurm drin zu sein. Allerdings ist das für mich nicht unbedingt ein Beinbruch, da ich fast täglich vorbeischaue, manchmal auch mehrmals. Ist dann nur ein wenig lästig. Tschö, Auge |
|
|
![]()
Beitrag
#9
|
|
____________________ ![]() Gruppe: Admin Beiträge: 1.220 Mitglied seit: 20.10.2001 Mitglieds-Nr.: 3 ![]() |
ZITAT(Auge @ 22.02.2005 - 1:46) Tja, das ist mir momentan auch ein wenig suspekt. Ich bekomme auch keine Emails mehr, $irgendwer hat in den individuellen Maileinstellungen offensichtlich die Benachrichtigung ausgestellt. War bei mir auch so - dachte natürlich, ich wäre ein Einzelfall ![]() Einfach wieder umstellen ... |
|
|
![]()
Beitrag
#10
|
|
Anwärter auf W3.org Mitgliedschaft ![]() ![]() ![]() ![]() ![]() Gruppe: User Beiträge: 550 Mitglied seit: 28.11.2001 Wohnort: Berlin Friedrichshain Mitglieds-Nr.: 107 ![]() |
Hallo Andreas
ZITAT(Andreas @ 22.02.2005 - 7:41) $irgendwer... Notice: Call to undefined variable ''$irgendwer´' on line 1 in ... ![]() ZITAT(Andreas @ 22.02.2005 - 7:41) Einfach wieder umstellen ... Schon geschehen. Tschö, Auge Der Beitrag wurde von Auge bearbeitet: 22.02.2005 - 23:21 |
|
|
Google Bot |
![]()
Beitrag
#
|
![]() Google Ads ![]() |
|
|
|
![]() ![]() |
![]() |
Vereinfachte Darstellung | Aktuelles Datum: 15.05.2025 - 0:28 |