• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

elseif Anwendug auf Kontaktformular

  • Ersteller Ersteller matibaski
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
M

matibaski

Guest
Moin!
Bin ein Kontaktformular am bauen, bei dem man eine Ketegorie auswählen muss. Art des Schreibens.

Nun ist es so, dass ich zuerst Prüfe, (beim if{}), ob alle Felder ausgefüllt wurden mit empty(). Nun soll das Script mit elseif prüfen, ob eine Kategorie (DropDown-Balken) ausgewählt wurde. Wenn es den Standart "Bitte wählen" übernimmt, soll es einschalten.

Lange Rede, hier ist der Code:
PHP:
<?php
$Empfaenger = "email@des-empfängers.de";
$Name = $_POST['name'];
$Mail = $_POST['mail'];
$Antwort = $_POST['antwort'];
$Betreff = $_POST['betreff'];
$Text = $_POST['text'];
$Auswahl = $_POST['waehlen'];

if(empty($Name) || empty($Mail) || empty($Betreff) || empty($Text) || empty($Auswahl))
{
 echo'Sie haben nicht alle Felder ausgef&uuml;llt. Bitte gehen Sie <a href="javascript:history.back()">zur&uuml;ck</a> und 
      f&uuml;llen Sie alle Felder aus';
}
elseif($Auswahl == 'Bitte w&auml;hlen')
{
 echo'Bitte gehen Sie <a href="javascript:history.back()">zur&uuml;ck</a>, und w&auml;hlen Sie eine Kategorie (Problem, Frage, etc).';
}
else
{
 // Hier wird die Nachricht gesendet.
}
?>
Nun ist das Problem, dass, auch wenn ich beim Proben "Bitte wählen" lasse, dass es zur else{} Meldung geht, die das E-Mail absendet.
Bei der Ausgabe im Explorer stand, dass es das E-Mail abgesendet hat.

Wisst ihr wieso das so ist? Ich hab keine Ahnung.


MfG, matibaski
 
Hier der Codeausschnitt:
HTML:
<select name="waehlen">
 <option selected>Bitte w&auml;hlen</option>
 <option>Frage</option>
 <option>Problem</option>
 <option>Feedback</option>
 <option>Anderes</option>
</select>
Ja, es steht genau dasselbe, weil ich es von dort kopiert habe, dass ich ja keinen Fehler mache. :D

Habs mal so ausprobiert, ging aber nicht:
PHP:
if(empty($Name) || empty($Mail) || empty($Betreff) || empty($Text) || empty($Auswahl))
{
 echo'Sie haben nicht alle Felder ausgef&uuml;llt. Bitte gehen Sie <a href="javascript:history.back()">zur&uuml;ck</a> und 
      f&uuml;llen Sie alle Felder aus';
}
elseif($_POST['waehlen'] == 'Bitte w&auml;hlen')
{
 echo'Bitte gehen Sie <a href="javascript:history.back()">zur&uuml;ck</a>, und w&auml;hlen Sie eine Kategorie (Problem, Frage, etc).';
}
else
{
 // Senden
}
Mit $_POST['waehlen'] gings auch nicht.

Was ist da falsch?? Mann das kapier ich nicht.


MfG, matibaski
 
Hallo,

ich könnte mir vorstellen, dass der Browser nicht &auml;, sondern ä im Zeichensatz des Nutzers sendet.


Falls das der Fall sein sollte, kannste über value="" festlegen, was bei der Auswahl an den Server gesendet werden soll.


N43
 
Danke.. Stimmt schon, dass der Browser &auml; zu ä macht.. Mit
PHP:
elseif($Auswahl == 'Bitte wählen')
Gings..

Thema kann geschlossen werden.


MfG, matibaski
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben