Frage von ConTRoniiX, 70

PHP prüfen ob Eingabefeld leer ist?

Hallo, ich habe eine Website mit HTML programmiert wo unter anderem ein Texfeld ist. Ich habe ein PHP-Dokument geschrieben, welches schaut, ob das Textfeld leer ist und dann einen Hinweis gibt und das schaut, ob es ausgefüllt ist und dann eine Bestätigung abgibt. Allerdings wird egal ob man etwas eingibt oder nicht, angezeigt dass nichts angegeben wurde. Könnt ihr mir helfen? Hier der Code: http://pastebin.com/Jif0WQYg

Vielen Dank!

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von mastema666, 43

Du setzt ja auch keinen Wert für $frage, von daher ist es klar, dass immer angezeigt wird, dass man nichts eingegeben habe.

Du muss $frage also erst einen Wert zuweisen, je nachdem welche Methode du bei deinem Formular benutzt (das hast du ja nicht mit gepostet) machst du das entweder mit 

$frage = $_POST['name_des_formularfeldes'];

oder

$frage = $_GET['name_des_formularfeldes'];

(das muss jeweils vor die if-Abfrage)

Kommentar von ConTRoniiX ,

Danke! Das habe ich vergessen :D

Antwort
von Malemeister, 40

Hallo,

absolut grauenhaft was du da geschrieben hast! Und damit meine ich nicht nur den PHP Code...

Lesen und verstehen (!!!): http://php-de.github.io/#form

Da steht alles was du wissen musst bezüglich Formulare senden und die Verarbeitung der Client Eingaben!

Grüße

Kommentar von ConTRoniiX ,

Hallo,

danke, aber es funktioniert so jetzt. Ich musste bloß noch einen Wert für die Variablen setzen. Ich werde mich allerdings mal mit deinem Tipp beschäftigen.

Grüße

Kommentar von Malemeister ,

Ja es "funktioniert". Schraub mal das Debuggin Level hoch. Ich wünsche dir viel Spaß...

Nur weil es funktioniert, heist es nicht das es richtig ist!

Antwort
von derobert, 17

Als erstes musst du die Formular Daten an php übergeben:

$frage = (isset ($_POST ['frage'] && !empty($_POST['frage'])) ? $_POST['frage'] : false;

Zur Erklärung:
Ist POST frage gesetzt UND nicht leer, dann fülle die Variable $frage mit dem Inhalt, ansonsten setze $frage auf false.

Jetzt kanst du
if(!$frage) {
echo"Du hast keine Frage angegeben";
} else {
echo"Vieen dank für deine Frage";
}

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten