.
Hallo Leute,
ich habe ein Formular in HTML erstellt, dass per PHP verschickt wird. Bisher funktionierte alles. Nur gestern habe ich noch ein paar Formularfelder hinzugefügt. Jetzt hab ich ein Problem.
Wenn ich das Formular komplett ausfülle, dann wird es nicht verschickt.
Ich habe dann ausprobiert, woran das liegen könnte und mir ist aufgefallen, wenn ich das letzte Feld 'Route', so heißt das nicht ausfülle sonder nur den Rest, dann klappt alles wunderbar.
Also scheint irgendwas mit diesem Feld nicht in Ordnung zu sein.
Ich habe mal beide Dateien gepostet, ich hab mir den script echt schon voll oft reingezogen, aber ich weiß nicht, warum das nicht funktioniert.
ich danke euch, für hilfe
Ententiger
"Man muss nicht alles wissen, man muss nur wissen wo es steht."
.
Geändert von Radoo.de (19.10.2003 um 03:46 Uhr)
ersetz mal weg durch route, ich hatte das feld vorrübergehend in weg umbenannt, weil ich gedacht habe, vielleicht verursacht ja das wort route den fehler.
hab nur vergessen das in der php rückgängig zu machen.
aber trotzdem sendet der das nicht!
kann es sein, dass das zu viele felder sind oder sowas?
"Man muss nicht alles wissen, man muss nur wissen wo es steht."
Was soll das denn heißen??Original geschrieben von Radoo.de
Mach mal Pause!
![]()
"Man muss nicht alles wissen, man muss nur wissen wo es steht."
if (isset($_POST['Weg']) && $_POST['Weg']!=""){
echo "<br> Drin";
$nachricht.= 'Route: '.$_POST['Weg']."\n";
}
else {
....
also, so wie du deine abfragen aufgebaut hast, wird dir der letzte ausgefüllte wert IMMER dazu führen, dass die mail nicht versendet wird.
Lösungsvorschlag:
- entweder du prüfst vor dem Versenden, ob $nachricht einen Inhalt hat, oder
- du lässt eine bool in den ifs mitlaufen, auf die du dann beim versenden abprüfst:
start: ok=0;
.....
if (isset($_POST['Weg']) && $_POST['Weg']!=""){
ok=1;
$nachricht.= 'Route: '.$_POST['Weg']."\n";
}
if($ok)
{ mail...
hallo Longfang, danke für deine Antwort,
also PHP is ziemlich neu für mich. Ich habe das jetzt mal ausprobiet. Ich habe jetzt das letzte Feld so gemacht:
--------------------------PHP--------------------------------------------
ok=0;
if (isset($_POST['Route']) && $_POST['Route']!=""){
ok=1;
$nachricht.= 'Route: '.$_POST['Route']."\n";
}
if($ok)
{ mail($absenderemail,$betreff,$nachricht,$header);
echo "Application has been sent.";
}
?>
--------------------------PHP--------------------------------------------
ist das richtig, oder nicht? weil der mir nämlich nen Fehler anzeigt.
tut mir leid, wenn ich das nicht auf anhieb verstehe.
"Man muss nicht alles wissen, man muss nur wissen wo es steht."
nein, das musst du in jeder If-Abfrage machen, sonst gehts nur dann, wenn du das letzte Feld ausgefüllt hast.
also gaaaanz oben definierst du mal
$ok = 0;
in JEDER if Abfrage
setzt du dann $ok = 1 dazu also so wie du es oben bereits gemacht has (nur halt mit den '$' zeichen vor dem ok)
und unten passt ebenfalls so wie du es erledigt hast.
ferdig. versuchs mal so.
hi Longfang,
okay ihc hab das jetzt so gemacht wie du gesagt hast.
aber da ist immer error on line 10. hab ich das $ok denn richtig gesetzt? ich hoffe ich nerve dich nicht schon, aber ich hab eben noch nicht viel erfahrung mit php.
Ententiger
"Man muss nicht alles wissen, man muss nur wissen wo es steht."
sorry hab vergessen die php zu posten
"Man muss nicht alles wissen, man muss nur wissen wo es steht."
strichpunkte am ende er Zeile gehen ab.
DANKE!!!
Sendet, empfängt, alles super.
Nur warum ist als Absender: "WWW daemon apache" und nicht die Absendermail?
Ich mein ist jetzt kein großes ding, aber interessiert mich nur.
Wär natürlich schön, wenn da die Absendermail in der Mail erscheinen würde.
Egal, danke für deine Hilfe!!!
Ententiger
"Man muss nicht alles wissen, man muss nur wissen wo es steht."
Thomas hatte das gleiche Problem. Vielleicht hift's Dir ja...
Gruß, der Michl
* * * if you want them to RTFM, make a better FM! * * *
danke, ich werde es mir mal anschauen.
"Man muss nicht alles wissen, man muss nur wissen wo es steht."
also irgendwie haut das nicht hin.
selbst wenn ich $absendermail, $header und so definieren zeigt der mir "WWW damon apache" als absender an.
ist das vielleicht ein ganz einfacher fehler??
"Man muss nicht alles wissen, man muss nur wissen wo es steht."
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)