Mailformular
Rednaelo
- php
0 Rednaelo0 Edgar Ehritt0 Beat
Hallo,
schuldige wenn ihr das nicht richtig versteht was jetzt kommt, bin ja auch erst neuling.
Also ich hab ein "Fakemailer" in PHP gebastelt (http://olearose.lima-city.de/fakemail/mail.html), für das Formular habe ich get verwendet, FEHLER? Dieses Formular sendet dann seine Daten an send_mail.php, dieses Script sieht wie folgt aus:
<?PHP
$empfaenger = (''.$_get['mailtoname'].'<'.$_get['mailto'].'>');
$absender = ''.$_get['fromname'].'<'.$_get['from'].'>';
$subject = ''.$_get['subject'].'';
$message = ''.$_get['mail'].'';
$headers .= 'From:' . $absender . "\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . "\n";
$headers .= 'X-Sender-IP: ' . $REMOTE_ADDR . "\n";
$headers .= "Content-type: text/html\n";
mail($empfaenger, $subject, $message, $headers);
?>
Was ist Falsch?
THX!!!
$headers .= "Content-type: text/html\n";
schuldige das soll
$headers .= 'Content-type: '.$_get['type']."\n";
heißen.
Hallo,
Also ich hab ein "Fakemailer" in PHP gebastelt (http://olearose.lima-city.de/fakemail/mail.html), für das Formular habe ich get verwendet, FEHLER?
Was das sicherstellen der Funktionsweise anbelangt, sind die Methoden GET und POST gleichwertig. Jedoch gibt es andere Gründe, warum für Formulare, in denen größere/persönlich(e) (vertrauliche) Eingaben gemacht werden, mit POST versendet werden sollten. Bei der Methode GET werden alle Eingabedaten beim versenden eines Formulars in der Anfragezeile an den URL als Query-String angehangen. Sehr viele Server protokollieren die angeforderten URLs in Logs mit. Die Nachrichten, die Dir jemand mit dem Formular zusendete, sind also in den Logs gespeichert. Prinzipiell kann einem das zwar auch bei der Methode POST passieren, die _Wahrscheinlichkeit_ aber ist erheblich geringer.
Dieses Formular sendet dann seine Daten an send_mail.php, dieses Script sieht wie folgt aus:
> <?PHP
> $empfaenger = (''.$_get['mailtoname'].'<'.$_get['mailto'].'>');
# ^^^^^^^^^^^^^^^^^^^^^^^
# unnötiger Datenmüll
$empfaenger=$_POST['mailto'];
# etc.
Was ist Falsch?
Formulardaten werden (u. A.) in den Variablen $_GET
und $_POST
abgelegt - nicht in $_get oder $_post
Suche nach "formularverarbeitung PHP tutorial" mit einer Suchmaschine Deiner Wahl!
z. B. google
Gruß aus Berlin!
eddi
Hallo,
schuldige wenn ihr das nicht richtig versteht was jetzt kommt, bin ja auch erst neuling.
Warum bin ich schuldig?
Also ich hab ein "Fakemailer" in PHP gebastelt (http://olearose.lima-city.de/fakemail/mail.html)
OK den Herzanfall habe ich mal grad überstanden.
für das Formular habe ich get verwendet,
Warum? Willst du denn alles in den Serverlogfiles speichern?
Nimm POST
FEHLER?
Leichtsinn.
Dieses Formular sendet dann seine Daten an send_mail.php, dieses Script sieht wie folgt aus:
<?PHP
$empfaenger = (''.$_get['mailtoname'].'<'.$_get['mailto'].'>');
$absender = ''.$_get['fromname'].'<'.$_get['from'].'>';
$subject = ''.$_get['subject'].'';
$message = ''.$_get['mail'].'';
$headers .= 'From:' . $absender . "\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . "\n";
$headers .= 'X-Sender-IP: ' . $REMOTE_ADDR . "\n";
$headers .= "Content-type: text/html\n";mail($empfaenger, $subject, $message, $headers);
?>
Was ist Falsch?
Alles
Dass du keinerlei Prüfung des Userinputs vornimmst.
Dass du den Empfänger einfach so vom user definieren lässt.
Und damit ein Open-Relay schaffst, den der serverbetreiber hoffentlich schnell schliesst, indem er die Domain sperrt.
Vom Rest wollen wir nicht sprechen.
mfg Beat