mail() und mysql-insert problem

dune911

Erfahrenes Mitglied
hallo
ich hab gleich zwei probleme, hier gleichmal die codes:
PHP:
mail("mail@empfänger", "Betreff", "textzeile1 \n textzeile2 \n textzeile3", "mail@absender");
bei diesem code wird die email richtig verschickt. nur steht die
mail@absender als erste zeile im mailtext und danach die textzeilen.
dann wird der absender nicht angezeigt sondern nur "daemon user for
apache". und antworten kann man auf diese mail auch nicht, weil die
reply-adresse auch nicht die absenderadresse ist. wie kann ich den
code so modifizieren, dass alles einwandfrei funktioniert?

problem 2: welche dieser varianten sollte ich am ehesten nehmen?

$sql1 = "INSERT INTO hoteluser ( name, password, mail ) VALUES ('$_POST[fname]', '$_POST[fpass]', '$_POST[fmail]')";

$sql2 = "INSERT INTO hoteluser ( name, password, mail ) VALUES ('$fname', '$fpass', '$fmail')";

$sql3 = "INSERT INTO hoteluser ( name, password, mail ) VALUES ('".$_POST[fname]."', '".$_POST[fpass]."', '".$_POST[fmail]."')";

$sql4 = "INSERT INTO hoteluser ( name, password, mail ) VALUES ('".$fname."', '".$fpass."', '".$fmail."')";

danke für hinweise und tips!
 
@1: Im Absendebereich fehlen dir auch ein paar angaben, einfach mailadresse reicht nicht. Schreib mal

From: name@mail.de<name@mail.de>"

es wird ja unterschieden zwischen name, und mailadresse

@2: $sql1 = "INSERT INTO hoteluser ( name, password, mail ) VALUES ('$_POST[fname]', '$_POST[fpass]', '$_POST[fmail]')";

ist imho die beste variante. Alternativ würde auch $_REQUEST[..] gehen.
 
für sauberen code sollte es so lauten.
ist wohl auch ein paar µs schneller.

PHP:
$sql1 = "INSERT INTO hoteluser ( name, password, mail ) VALUES ('".$_POST[fname]."', '".$_POST[fpass]."', '".$_POST[fmail]."')";
 
mal ne frage

wo wirkt sich das wirklich aus ? Der speed ist in dem fall wohl eher unwichtig. Einfach nur weils 'richtiger' ist, oder hat das noch mehr gründe ?
 
es wirkt sich gar nciht aus.
ich habe ja auch extra gesagt, dass es zum sauberen code nötig wäre, nicht zur funktionalität.

so werden strings offensichtlicher von variablen getrennt, der code wird verständlicher.
 
Zurück