PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |

25-11-2007, 19:38
|
Ryo
Newbie
|
|
Registriert seit: Jun 2005
Beiträge: 10
|
|
Anmeldungsformular
Hallo
Ich habe hier ein Anmeldungsformular-Script, das soweit auch einwandfrei funktioniert. Nur fehlt mir da ein wichtiger Teil.
Nachdem ein User das Formular ausgefüllt und abgeschickt hat, bekommt der Admin der Webseite ein E-Mail mit den ausgefüllten Daten des Users. Der User selbst hat in seiner Bestätigungsemail jedoch nur den Hinweis drin, dass die Anmeldung erfolgreich war.
Ich möchte nun, dass auch der User seine angegebenen Daten per Email bekommt.
Wie funktioniert das? Welcher code muss ich dazu ändern bzw. erweitern?
PHP-Code:
<?
// (C) 2005 by z3ck3 ([url]http://www.123x.de[/url])
$admin_email = "anmeldung@musterhausen.de";
$admin_name = "Anmeldung";
$admin_emailbetreff = "Anmeldung zur Tagesschau";
$admin_emailbody = "Anmeldung zur Tageschau\n\n";
$admin_emailbody .= "Du wurdest erfolgreich angemeldet.";
function f_err($msg) {
global $err_msg;
if (empty($err_msg)) {
$err_msg = "<b>Achtung, du hast das Formular nicht richtig ausgefüllt:</b><br>\n<li>$msg<br>\n";
} else {
$err_msg .= "<li>$msg<br>\n";
}
}
for (;;) {
$f_nachname = "";
$f_vorname = "";
$f_strasse = "";
$f_plz = "";
$f_ort = "";
$f_email = "";
$f_agb = "";
$err_msg = "";
$err_failed = "#CC0000";
$err_ok = "#00CC00";
$err_col = $err_failed;
$ip = "unbekannt";
if (isset($REMOTE_ADDR)) $ip = $REMOTE_ADDR;
if (!isset($_POST["f_vorname"])) break;
$f_nachname = trim($_POST["f_nachname"]);
$f_vorname = trim($_POST["f_vorname"]);
$f_strasse = trim($_POST["f_strasse"]);
$f_plz = trim($_POST["f_plz"]);
$f_ort = trim($_POST["f_ort"]);
$f_email = trim($_POST["f_email"]);
$f_agb = trim($_POST["f_agb"]);
if (empty($f_nachname)) f_err("Du musst deinen Nachnamen angeben.");
if (empty($f_vorname)) f_err("Du musst deinen Vornamen angeben.");
if (empty($f_strasse)) f_err("Du musst eine Straße angeben.");
if (intval($f_plz)<100) f_err("Du musst eine PLZ angeben.");
if (empty($f_ort)) f_err("Du musst einen Ort angeben.");
if (!ereg("^.+@.+\\..+$", $f_email)) f_err("Du musst deine eMail-Adresse angeben.");
if (empty($f_agb)) f_err("Du musst die AGB's akzeptieren.");
if (!empty($err_msg)) break;
$err_col = $err_ok;
$email_to = "$f_vorname $f_nachname <$f_email>";
$header = "From: $admin_name <$admin_email>\n";
mail($email_to,$admin_emailbetreff,$admin_emailbody,$header);
$email_to = "$admin_name <$admin_email>";
$admin_emailbody = "Name, Vorname: $f_nachname, $f_vorname\n";
$admin_emailbody .= "Strasse: $f_strasse\n";
$admin_emailbody .= "PLZ/Ort: $f_plz $f_ort\n";
$admin_emailbody .= "eMail: $f_email\n\n";
$admin_emailbody .= "IP: $ip\n\n";
mail($email_to,"$admin_emailbetreff ($f_vorname $f_nachname)",$admin_emailbody,$header);
$err_msg = "Anmeldung erfolgreich. Du wirst in wenigen Minuten eine Bestätging per eMail bekommen.";
$f_nachname = "";
$f_vorname = "";
$f_strasse = "";
$f_plz = "";
$f_ort = "";
$f_email = "";
$f_agb = "";
break;
}
include("top.html");
?>
<div style="font-size:14px;color:<? echo($err_col); ?>"><? echo($err_msg); ?></div>
<form style="margin:0px;" action="formular.php" method="post"> <table>
<tr>
<td>Name</td>
<td><input type="Text" name="f_nachname" value="<? echo($f_nachname); ?>" size="30" maxlength="50"></td>
</tr>
<tr>
<td>Vorname</td>
<td><input type="Text" name="f_vorname" value="<? echo($f_vorname); ?>" size="30" maxlength="50"></td>
</tr>
<tr>
<td>Straße</td>
<td><input type="Text" name="f_strasse" value="<? echo($f_strasse); ?>" size="30" maxlength="50"></td>
</tr>
<tr>
<td>PLZ/Ort</td>
<td>
<input type="Text" name="f_plz" value="<? echo($f_plz); ?>" size="5" maxlength="5">
<input type="Text" name="f_ort" value="<? echo($f_ort); ?>" size="20" maxlength="50">
</td>
</tr>
<tr>
<td>eMail</td>
<td><input type="Text" name="f_email" value="<? echo($f_email); ?>" size="30" maxlength="50"></td>
</tr>
<tr>
<td> </td>
<td><input type="Checkbox" name="f_agb" value="ja"> Ja, ich habe die <a href="agbs.html" target="_blank">AGB's</a> gelesen</td>
</tr>
<tr>
<td> </td>
<td><input type="Submit" name="f_submit" value="Anmeldung senden"></td>
</tr>
</table>
</form>
<? include("bottom.html"); ?>
Danke für eure Hilfe.
|

25-11-2007, 19:57
|
Lennie
PHP Senior
|
|
Registriert seit: May 2006
Beiträge: 1.013
|
|
hast du dich mal mit php beschäftigt? mit wie geht das solltest du es lieber im jobforum oder der projekthilfe versuchen. hier können und wollen wir dir nur helfen wenn du es z.b. versucht hättest aber ein fehler ausgegeben wird.
für mich sieht das ziemlich danach aus, als das du dieses script fertig heruntergeladen hast, keine ahnung von php besitzt, und jetzt eine fertige lösung erwartest.
__________________
Webdesign und Webentwicklung - Plunix.de
Geändert von Lennie (26-11-2007 um 17:57 Uhr)
|

25-11-2007, 20:49
|
Ryo
Newbie
|
|
Registriert seit: Jun 2005
Beiträge: 10
|
|
Dieses Script hat mir mal jemd. vor zwei Jahren programmiert. Leider kann ich keinen Kontakt mehr zu ihm herstellen.
Ich habe es selber schon versucht und zwar hiermit:
$message_emailbody = "erstezeile\n\n";
$message_emailbody .= "drittezeile\n";
$message_emailbody .= "viertezeile";
Die Variablen natürlich angepasst. So scheint es aber trotzdem nicht zu funktionieren. Die User bekommen ihre eingegebenen Daten in der Bestätigungsemail nicht angezeigt.
Der Code, um die ausgefüllten Daten des Users im Admin-Email anzeigen zu lassen, sieht ja so aus:
PHP-Code:
$email_to = "$f_vorname $f_nachname <$f_email>";
$header = "From: $admin_name <$admin_email>\n";
mail($email_to,$admin_emailbetreff,$admin_emailbody,$header);
$email_to = "$admin_name <$admin_email>";
$admin_emailbody = "Name, Vorname: $f_nachname, $f_vorname\n";
$admin_emailbody .= "Strasse: $f_strasse\n";
$admin_emailbody .= "PLZ/Ort: $f_plz $f_ort\n";
$admin_emailbody .= "eMail: $f_email\n\n";
$admin_emailbody .= "IP: $ip\n\n";
Wie müsste es dann für den User aussehen?
|

25-11-2007, 20:59
|
SquallCW
Registrierter Benutzer
|
|
Registriert seit: Nov 2007
Beiträge: 31
|
|
Ich finde es gut dass du es selber versucht hast, ich empfehle aber dennoch dir einmal ein Buch zu schnappen oder eine Internetreferenz zu verwenden und das Script mal durchzugehen damit du auch verstehst, was da passiert. Ansonsten in der Jobbörse fragen.
Ich habe ihn nicht getestet, aber es sollte eigentlich so funktionieren:
PHP-Code:
<?php
// (C) 2005 by z3ck3 (<a href="http://www.123x.de" target="_blank">[url]http://www.123x.de[/url]</a>)
$admin_email = "anmeldung@musterhausen.de";
$admin_name = "Anmeldung";
$admin_emailbetreff = "Anmeldung zur Tagesschau";
function f_err($msg) {
global $err_msg;
if (empty($err_msg)) {
$err_msg = "<b>Achtung, du hast das Formular nicht richtig ausgefüllt:</b><br>\n<li>$msg<br>\n";
} else {
$err_msg .= "<li>$msg<br>\n";
}
}
for (;<img src="images/smilies/wink.gif" border="0" alt=""> {
$f_nachname = "";
$f_vorname = "";
$f_strasse = "";
$f_plz = "";
$f_ort = "";
$f_email = "";
$f_agb = "";
$err_msg = "";
$err_failed = "#CC0000";
$err_ok = "#00CC00";
$err_col = $err_failed;
$ip = "unbekannt";
if (isset($REMOTE_ADDR)) $ip = $REMOTE_ADDR;
if (!isset($_POST["f_vorname"])) break;
$f_nachname = trim($_POST["f_nachname"]);
$f_vorname = trim($_POST["f_vorname"]);
$f_strasse = trim($_POST["f_strasse"]);
$f_plz = trim($_POST["f_plz"]);
$f_ort = trim($_POST["f_ort"]);
$f_email = trim($_POST["f_email"]);
$f_agb = trim($_POST["f_agb"]);
if (empty($f_nachname)) f_err("Du musst deinen Nachnamen angeben.");
if (empty($f_vorname)) f_err("Du musst deinen Vornamen angeben.");
if (empty($f_strasse)) f_err("Du musst eine Straße angeben.");
if (intval($f_plz)<100) f_err("Du musst eine PLZ angeben.");
if (empty($f_ort)) f_err("Du musst einen Ort angeben.");
if (!ereg("^.+@.+\..+$", $f_email)) f_err("Du musst deine eMail-Adresse angeben.");
if (empty($f_agb)) f_err("Du musst die AGB's akzeptieren.");
if (!empty($err_msg)) break;
$err_col = $err_ok;
$admin_emailbody = "Du wurdest zur Tagesschau angemeldet.\n\n".
"Deine Anmeldedaten:\n".
" Name, Vorname: $f_nachname, $f_vorname\n".
"Strasse: $f_strasse\n".
"PLZ/Ort: $f_plz $f_ort\n".
"eMail: $f_email\n\n";
$email_to = "$f_vorname $f_nachname <$f_email>";
$header = "From: $admin_name <$admin_email>\n";
mail($email_to,$admin_emailbetreff,$admin_emailbody,$header);
$email_to = "$admin_name <$admin_email>";
$admin_emailbody = "Name, Vorname: $f_nachname, $f_vorname\n";
$admin_emailbody .= "Strasse: $f_strasse\n";
$admin_emailbody .= "PLZ/Ort: $f_plz $f_ort\n";
$admin_emailbody .= "eMail: $f_email\n\n";
$admin_emailbody .= "IP: $ip\n\n";
mail($email_to,"$admin_emailbetreff ($f_vorname $f_nachname)",$admin_emailbody,$header);
$err_msg = "Anmeldung erfolgreich. Du wirst in wenigen Minuten eine Bestätging per eMail bekommen.";
$f_nachname = "";
$f_vorname = "";
$f_strasse = "";
$f_plz = "";
$f_ort = "";
$f_email = "";
$f_agb = "";
break;
}
include("top.html");
?>
<div style="font-size:14px;color:<? echo($err_col); ?>"><? echo($err_msg); ?></div>
<form style="margin:0px;" action="formular.php" method="post"> <table>
<tr>
<td>Name</td>
<td><input type="Text" name="f_nachname" value="<? echo($f_nachname); ?>" size="30" maxlength="50"></td>
</tr>
<tr>
<td>Vorname</td>
<td><input type="Text" name="f_vorname" value="<? echo($f_vorname); ?>" size="30" maxlength="50"></td>
</tr>
<tr>
<td>Straße</td>
<td><input type="Text" name="f_strasse" value="<? echo($f_strasse); ?>" size="30" maxlength="50"></td>
</tr>
<tr>
<td>PLZ/Ort</td>
<td>
<input type="Text" name="f_plz" value="<? echo($f_plz); ?>" size="5" maxlength="5">
<input type="Text" name="f_ort" value="<? echo($f_ort); ?>" size="20" maxlength="50">
</td>
</tr>
<tr>
<td>eMail</td>
<td><input type="Text" name="f_email" value="<? echo($f_email); ?>" size="30" maxlength="50"></td>
</tr>
<tr>
<td> </td>
<td><input type="Checkbox" name="f_agb" value="ja"> Ja, ich habe die <a href="agbs.html" target="_blank">AGB's</a> gelesen</td>
</tr>
<tr>
<td> </td>
<td><input type="Submit" name="f_submit" value="Anmeldung senden"></td>
</tr>
</table>
</form>
<? include("bottom.html"); ?>
|

26-11-2007, 02:52
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
|
|
Zitat:
Original geschrieben von Ryo
Dieses Script hat mir mal jemd. vor zwei Jahren programmiert.
|
Wohl eher vor 2 Jahren.
Zitat:
Leider kann ich keinen Kontakt mehr zu ihm herstellen.
|
So wie der die for-Schleife vergewaltigt, mußt du dem keine Träne nachweinen.
Wahrscheinlich ist er nach einem goto nicht mehr zurück gekommen.
|

26-11-2007, 17:24
|
SquallCW
Registrierter Benutzer
|
|
Registriert seit: Nov 2007
Beiträge: 31
|
|
Was ich mich frage ist, ob die Schleife überhaupt funktionieren kann.  Ich habe schon viel gesehen, aber so etwas noch nicht. Ich glaube ich werde es mal testen.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|