if und else problem
JulianBaumueller
- php
0 suit0 LX0 suit
3 Sven Rautenberg
Hallo,
ich habe ein kleines Problem und zwar habe ich vor eine 'send.php' zu schreiben:
$an = $_POST[empfaenger];
$betreff = $_POST[subject];
$nachricht = $_POST[message];
if(empty($an) || empty($betreff) || empty($nachricht)) {
echo "<span style=\"color: red; font-weight: bold;\">Bitte alle Felder ausfüllen!</span>";
}
else {
mail($an, $betreff, $nachricht);
echo "<span style=\"color: green; font-weight: bold;\">Senden erfolgreich!</span>";
}
Aber nun zeigt mir der Browser die Meldungen wie "Bitte alle Felder ausfüllen" oder "Senden erfolgreich" schon an, bevor ich überhapt auf den button geklickt habe..
Kann mir irgendjemand weiterhelfen?
JulianBaumueller.
Kann mir irgendjemand weiterhelfen?
JulianBaumueller.
Du brauchst noch irgend ein Kriterium um zu prüfen ob das Forumlar bereits abgeschickt wurde.
Gewöhnlicherweise prüfst du hier mit isset(), ob beim Submitbutton ein Wert übertragen wurde.
Ach kommt Leute,
ist dass so wichtig?
ich will jetzt nich beleidigend rüberkommen aber kommt man in dem thread hier nich völlig von meiner eigentlichen Frage ab?
Gruß
Julian.
Ach kommt Leute,
ist dass so wichtig?
Das merkst du spätestens dann, wenn es dich viel Zeit, Geld und Nerven kostet - sei froh, dass dich überhaupt jemand auf deinen offensichtlichen Anfängerfehler hinweist und dich nicht "dumm sterben lässt".
ich will jetzt nich beleidigend rüberkommen aber kommt man in dem thread hier nich völlig von meiner eigentlichen Frage ab?
Warum antwortest du dann ausgerechnet in dem Ast, der deine ursprüngliche Frage beantwortet?
Ja, hab schon öfters gehört dass ich auf Tipps achten soll, die eigentlich mehr abweichend rüberkommen.
Dass mit dem Anfänger stimmt zur hälfte weil ich CSS und HTML schon seit ca. einem Jahr beherrsche.
PHP und JS sind da wohl schon eher gemeint.
Wenn ihr mir wegen meiner 'missachtung' nich helfen wollt kann ich da auch nichts machen.
Julian
Dass mit dem Anfänger stimmt zur hälfte weil ich CSS und HTML schon seit ca. einem Jahr beherrsche.
Ich hab seit etwa 1999 mit HTML zu tun, ich würde mich mir aber nicht zugestehen, irgendetwas zu beherrschen ;)
PHP und JS sind da wohl schon eher gemeint.
Für nichts anderes hast du Verbesserungsvorschläge erhalten.
Wenn ihr mir wegen meiner 'missachtung' nich helfen wollt kann ich da auch nichts machen.
Ich verstehe dein Problem nicht - ich habe dir eine Fundierte, völlig ausreichende Antwort gegeben, die dein Problem löst - was willst du noch?
Da ihr mich aber wie ich mit bekommen habe wegen meiner Frage als Anfänger bezeichnet habt, bringts mich nich viel weiter, wenn man mir des Begriff isset() vorlegt, da ich ja noch nich weiß wie man sowas anwenden muss..
Julian.
Hallo
Da ihr mich aber wie ich mit bekommen habe wegen meiner Frage als Anfänger bezeichnet habt, bringts mich nich viel weiter, wenn man mir des Begriff isset() vorlegt, da ich ja noch nich weiß wie man sowas anwenden muss..
Dann sollte man aber zumindest bereit sein, danach zu suchen, z.B. in der Suchmaschine der eigenen Wahl oder in der zuständigen Dokumentation.
Tschö, Auge
Hi,
Da ihr mich aber wie ich mit bekommen habe wegen meiner Frage als Anfänger bezeichnet habt, bringts mich nich viel weiter, wenn man mir des Begriff isset() vorlegt, da ich ja noch nich weiß wie man sowas anwenden muss..
In deinem gezeigten Code hast du schon empty verwendet - das ist isset sehr ähnlich.
Und wenn du das dort verwendet hast, dann wirst du dir doch wohl auch irgendwas dabei gedacht haben? Dann musst du die Funktionsweise ja schon verstanden haben, oder?
MfG ChrisB
Moin!
ist dass so wichtig?
ich will jetzt nich beleidigend rüberkommen aber kommt man in dem thread hier nich völlig von meiner eigentlichen Frage ab?
Du bist ganz offensichtlich Programmieranfänger (sieht man an deiner Frage) - deshalb erhältst du zusätzlich zu deinem angeblichen Problem noch grundsätzliche Tipps für einen guten Programmierstil und wichtige Sicherheitshinweise - als Service.
Das kannst du beachten oder ignorieren. Wenn du es beachtest, ist die vorgesehene Reaktionsform "Danke für die Info, wußte ich noch nicht". Und wenn du es ignorierst, ist das deine Sache, weil dann von dir ja keine Reaktion erfolgt.
Bedenke jedoch, dass sich einzelne Teilnehmer, die dir schon mal geantwortet haben, durchaus merken könnten, welche Reaktion von dir kam. Und welche Hinweise sie dir schon mal gegeben haben. Und die es nicht so super finden, wenn du später mal mit Problemen kommst, zu deren Vermeidung sie dir schon vor etlicher Zeit die Tipps gegeben haben.
- Sven Rautenberg
Moin!
Wenn du es beachtest, ist die vorgesehene Reaktionsform "Danke für die Info, wußte ich noch nicht".
Oder natürlich eine Rückfrage zur Sache, um es vollständig zu verstehen, weil irgendetwas unklar geblieben ist. :)
- Sven Rautenberg
Sollte es nicht $_POST['empfaenger'] heißen? Ich nehme doch mal an, empfaenger ist nicht definiert...
Gruß, LX
Sollte es nicht $_POST['empfaenger'] heißen? Ich nehme doch mal an, empfaenger ist nicht definiert...
Über sowas sieht PHP (leider) hinweg - wenn aber eine Konstante "empfaenger" existiert, wirds problematisch:
http://php.net/manual/en/language.types.array.php, Abschnitt "Why is $foo[bar] wrong?"
Moin!
$an = $_POST[empfaenger];
$betreff = $_POST[subject];
$nachricht = $_POST[message];if(empty($an) || empty($betreff) || empty($nachricht)) {
echo "<span style="color: red; font-weight: bold;">Bitte alle Felder ausfüllen!</span>";
}else {
mail($an, $betreff, $nachricht);
echo "<span style="color: green; font-weight: bold;">Senden erfolgreich!</span>";
}
Das Senden vom Mails an beliebige, vom bösen Benutzer frei definierbare Mailadressen, ist eine wunderbare Spamquelle und deshalb absolut nicht empfehlenswert. Noch dazu, wenn man mit keinerlei Zwangstexten zu kämpfen hat, sondern freien, ungehinderten Zugang zu allen interessanten Parametern von mail() hat.
Die Spammer werden sich freuen, wenn sie deine Seite entdecken. Und dein Provider wird dir kurz danach den Account kündigen.
Deshalb unbedingt Validierungen einbauen und das Skript gegen Missbrauch absichern.
- Sven Rautenberg