![]() |
mailer in php ?! Hallo, wollte einen mailer programmieren doch leider habe ich kaum Erfahrung in php deswegen hab ich mal im Internet nach einen fertigen gesucht und den dann versucht um zuschreibein. Das sieht dann so aus --> [code]<html> <head> <title>Kontakt-Formular</title> </head> <body> <?php echo $abschicken; if($abschicken == "Absenden") { if(empty($nick) || empty($name) || empty($alt) || empty($geschlecht ||empty($ort) || empty($land) || empty($mail) || empty($icq) || empty($page) || empty($inet) || empty($clans)) { echo "Es wurden nicht alle Felder ordnungsgemäß ausgefüllt. Bitte kehren Sie zurück und vervollständigen Sie Ihre Angaben!"; } else { while(list($feld,$wert)=each($HTTP_POST_VARS)) { if($feld!="abschicken") { $mailnachricht.=ucfirst($feld).": $wert\n"; } } $mailnachricht.="\nDatum/Zeit: "; $mailnachricht.=date("d.m.Y H:i:s"); $mailbetreff="JoinUS: "; $mailbetreff.=$HTTP_POST_VARS[betreff]; mail("leo14@uboot.com", $mailbetreff, $mailnachricht, "From: $email"); echo "Ihre Anfrage wird bearbeitet!"; } } else { echo "Ein Fehler ist aufgetreten."; } ?> </body> </html> [/code] Leider weiß ich nicht ganz was die Werte $feld und $wert bedeuten sollen . Oder kann mir einer erklären wie was funktioniert. Danke |
AW: mailer in php ?! sind variablen in php, das ding sieht auch etwas unvollständig aus - da sollte nochwas dazugehören |
AW: mailer in php ?! Ich weiß es nicht,hab nun mal keine Erfahrung in php deswegen auch meine Frage ;) |
AW: mailer in php ?! einen mailer in php selbst zu schreiben ist eigentlich kein problem, du solltest mal eine testumgebung installieren (z.b. ne vollintegrierte apachefriends version) da kannste dann n paar php skripte erstellen. 1. mal ein wenig mit input von html formularen rumspielen 2. den input an php variablen übergeben 3. die referenz auf php.net nach der funktion mail() befragen 4. lösung implementieren 5. ggf. nochmal hier zu spieziellen probs. nachfragen |
AW: mailer in php ?! Kann mir einer die Befehle zeigen wie man Überprüfen kann ob etwas in den Feldern drinne steht und dann eben die passende Antwort bekommt?! Und wie kann z.B wenn ein Formular gesendet worden ist und nach dem die Nachrichtkam Erfolgreich das der nach 2sec wieder auf die Startseite geht?! Danke für die Hilfe |
AW: mailer in php ?! wenn du ein formular hast (in html) <input type=text name=eingabefeld1> dann wird das was hinter name steht, also eingabefeld1 eine variable in php, auf die du zugreifen kannst. solltest du register_globals off haben so geht das einfach mit $eingabefeld1 wenn register_globals on sind musst du $_POST['eingabefeld1'] benutzen ($_POST ist ein superglobales array für sachen die mit der POST methode übertragen worden sind, was bei formularen standard sein sollte) nun brauchst du nur noch zu prüfen ob in der variable auch wirklich was drinsteht bzw. ob die existiert (im folgenden gehe ich davon aus, dass register_globals on sind) if(!$_POST['eingabefeld1'] || $_POST['eingabefeld1'] == null) was dann damit passieren soll ist deine sache bzw. kannst du das ausgeben was drinne ist echo "im eingabefeld \"eingabefeld1\" wurde $_POST['eingabefeld1'] eignegeben"; oder halt sonstwas damit machen. ich hoffe ich konnte dir weiterhelfen. sollte etwas von dem obigen nicht gehen sg einfach nochmal bescheid - ich habs nicht getestet :mrgreen: gruß tele |
AW: mailer in php ?! hier mal ein konkretes Code-bsp.: [CODE] <?php //php beginn // die von tele erwähnten Post-variablen... $mail_receiver = $HTTP_POST_VARS['mail_receiver']; $mail_input = $HTTP_POST_VARS['mail_input']; $mailing = $HTTP_POST_VARS['sendmail']; $sendmail = $HTTP_POST_VARS['sendmail']; // springe aus php ?> <html> <head> <title> Mailing in php </title> </head> <body> <table width=100%> <?php // php beginnt... // Funktion zum Einlesen der Daten... function mailInput() { global $mail_receiver,$fn_user; //voreingestellte Mailempfänger ... $mail_receiver= "xxx@yyy.de, xxxx@web.de"; // der eigentliche text $body = "Für xxxxx\n"; $body .= ".....\n\n"; $body .= "Datum: ".date("d.m.Y, H:i:s")." Uhr\n"; ?> <form action="<?echo $SELFNAME ?>" method="post" align="center"> <table> <tr> <td> <input type="text" size="70" maxsize="70" name="mail_receiver" class="input" value="<?echo $mail_receiver ?>"> </td> </tr> <tr> <td> <textarea cols="150" rows="9" name="mail_input"><?echo $body ?> </textarea> </td> </tr> <tr> <td> <input type="Submit" value="Mail schicken ..." name="sendmail" class="button"> </td> </tr> </table> </form> <?php } // die Funktion die die Daten von der mailInput-Funktion nimmt und die Mail schickt function sendMail() { global $mail_receiver,$mail_input; echo 'Mail wurde an '.$mail_receiver.' verschickt...<br><br>'; // subject kann auch noch in eine Form ausgelagert werden... $subject = "MAIL"; @mail($mail_receiver, $subject, $mail_input, "From: $mail_receiver"); } if (isset($mail_receiver) && isset($mail_input)) { // wenn link geklingt mit der GET-Variablen... if ($_GET['action']=='mail') { mailInput(); // Eingabe der Daten für die Mail } else if(isset($sendmail)) { sendmail(); //eigentliche Mail schicken } } else { echo "STARTSEITE..."; echo "<a href=\"$SELFNAME?action=mail<b>Mail schicken ...</b></a>"; } ?> </table> </body> </html> [/CODE] müsste eigentlich gehen.. |
AW: mailer in php ?! ich wollte eigentlich keinen kompletten code posten aber egal, hier mal nochn paar anmerkungen, falls du dich wunderst: [list][*]$_POST und $HTTP_POST_VARS sind effektiv das gleiche genauso wie $_GET und $HTTP_GET_VARS, nur dass der zweite name eigentlich veraltet ist [*]das @ vor einer funktion (z.b. bei @mail()) unterdrückt einfach nur eine eventuelle fehlermeldung [*]das komische .= müsste eioentlich den string nur dem weiter oben gesetzten anfügen [*]nein, ein mailer muss nicht immer so kompliziert geschrieben werden ;-)[/list] viel Spass beim selber coden, tele |
AW: mailer in php ?! Ehm kurze Frage,muss das html Formular auch den php mailer enthalten wie oben. Dachte eigentlich das zuerst das Formular aufgerufen wird dann werden die daten an den php.mailer geschickt mit action="mailer.php" z.B. Oder hab ich was falsch verstanden?! |
AW: mailer in php ?! also prinzipiell kann beides getrennt sein, z.b. du hast eine .html file die das formular enthält und die das dann in <form action=mailer.php> dem mailer übergibt. Wir beide schreiben mittlerweile das formular mit in den PHP text, da man so viel flexiblere seiten aufbauen kann, z.b. mit verschiedenen sprachen oder dynamischen inhalten für verschiedene user. falls es dich interessiert hier noch ein kleines code example von einem mailer, der imho etwas simpler aufgebaut ist: [CODE] <?php include("meinebliothek.php"); $set_mail=$HTTP_POST_VARS['set_mail']; $an="andreas@knuffelhaeschen.gotdns.com"; //--------entweder mailen oder mailformular--------------------------------------------------- my_header2($_SERVER['PHP_SELF']); if($set_mail==1) { // mail an den webmaster mail($an, $betr, $nachricht,"From:".$abs); // Empfangsbestätigung an den user //$nachricht= "Sie haben eine Kontaktaufnahme zu Knuffelhaeschen vollzogen, // dabei haben Sie folgende NAchricht übersendet:<br><br>".$nachricht; mail($abs, $betr, $nachricht, "From:".$an); echo '<p align=\"center\">Vielen Dank, Ihre E-Mail wurde an den Webmaster weitergeleitet. Wir werden Ihre Anfrage so schnell wie möglich bearbeiten.</p>'; $set_mail=0; } else { ?> <body onload="setfocus_form_mail()"> <form name=form_mail action=<?php echo $scrname; ?> method=post onSubmit="return chk_form_mail()"> <table class=cont style="width:50%"> <tr> <td rowspan =5 width=20> </td> <td><?php echo $co_fld_to; ?></td> <td>Webmaster</td> </tr> <tr> <td><?php echo $co_fld_from; ?></td> <td><input type=text size=30 name=abs></td> </tr> <tr> <td width=50><?php echo $co_fld_subject; ?></td> <td><input type=text name=betr size=30></td> </tr> <tr> <td style="vertical-align:top"><br><?php echo $co_fld_message; ?></td> <td><textarea name=nachricht cols=30 rows=10></textarea></td> </tr> <tr> <td colspan=2 align=center> <input type=hidden value=1 name=set_mail> <input type=submit class=button value="<?php echo $co_fld_send; ?>"> </td> </tr> </table> </form> <?php } my_footer2(); ?> [/CODE] Das prinzip ist einfach - mit dem Formular setzt du die variable $set_mail, welche dann die verarbeitung auslöst Ich habe den php code vor den html code geschoben, da ich das für weitere sache wie sessions und header kontrollen benötige und es so einfacher geht. wie du siehst hat der user keine möglichkeit die zieladresse anzugeben - der mailer ist nur für den einsatz als kontaktformular auf webseiten gedacht. hoffe das konnte helfen gruß tele PS: ist mir grad noch aufgefallen - die my_header() und my_footer() sind funktionen in denen der kopf und fuß der html seite dargestellt wird und dann einfach aufgerufen wird, so brauch ich nicht die komplette seite in jeder php datei neu coden. Die funktionen werden in der datei deklariert die in include() steht |
| Alle Zeitangaben in WEZ +1. Es ist jetzt 01:03 Uhr. |
Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.