Feldeingabe in einem PHP-Formular überprüfen
Hallo,
Ich habe eine PHP-Seite wo ich aus einer MSSQL-DB eine Zeile auslese und da ist z.b. ein Feld das noch
keine Wert drin hat.
Jetzt sollte in dieses Feld ein Wert geschrieben werden. Das dann in die DB geschrieben wird.
Das funktioniert auch gut.
Jetzt sollte das Feld aber nicht leer bleiben dürfen.
Wie mach ich da am einfachsten eine Prüfung in die Seite rein,
das auf jeden Fall in das Feld was eingegeben wird?
Kann mir da jemand weiterhelfen?
Danke.
mfG
Helmut
Ich habe eine PHP-Seite wo ich aus einer MSSQL-DB eine Zeile auslese und da ist z.b. ein Feld das noch
keine Wert drin hat.
Jetzt sollte in dieses Feld ein Wert geschrieben werden. Das dann in die DB geschrieben wird.
Das funktioniert auch gut.
Jetzt sollte das Feld aber nicht leer bleiben dürfen.
Wie mach ich da am einfachsten eine Prüfung in die Seite rein,
das auf jeden Fall in das Feld was eingegeben wird?
Kann mir da jemand weiterhelfen?
Danke.
mfG
Helmut
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 61568
Url: https://administrator.de/contentid/61568
Ausgedruckt am: 26.11.2024 um 16:11 Uhr
16 Kommentare
Neuester Kommentar
Hallo wenn ich dich richtig verstanden hab, willst du einfach prüfen ob in eine Variable einen Inhalt hat!!
Das würde so aussehen:
Du kannst auch noch "trim" einsetzen. Diese Funktion entfernt Leerzeichen!
Das würde so aussehen:
if($POST[Feldname] == "")
{echo "NIcht alle Felder wurden ausgefüllt!";}
else
{echo "Alles wurde gespeichert";}
@helmut
Hi,
... wobei trim die Leerstellen vor und nach Texteingabe entfernt.
Ansonsten könnte man auch einfach die Leertaste drücken,
und die Eingabe wäre ebenfalls gültig.
Gruß
Günni
Hi,
if(!trim($_POST['textfeld'])){
ToDo ...
}
... wobei trim die Leerstellen vor und nach Texteingabe entfernt.
Ansonsten könnte man auch einfach die Leertaste drücken,
und die Eingabe wäre ebenfalls gültig.
Gruß
Günni
@helmut
Hi,
ich mache es grundsätzlich so, dass ich zuerst überprüfe, ob das Formular
gesendet wurde. Der Submit-Button bekommt einen Namen und natürlich
ein Value(z.B. Senden, Speichern, Ändern etc., je nach dem, was gemacht
werden soll.
Am Anfang des Skripts überprüfe ich dann, ob gesendet wurde:
Gruß
Günni
Hi,
...
Wo schreibe ich das den hin? Am Anfang gleich nach dem mit der DB Verbunden ist, oder...
Wo schreibe ich das den hin? Am Anfang gleich nach dem mit der DB Verbunden ist, oder...
ich mache es grundsätzlich so, dass ich zuerst überprüfe, ob das Formular
gesendet wurde. Der Submit-Button bekommt einen Namen und natürlich
ein Value(z.B. Senden, Speichern, Ändern etc., je nach dem, was gemacht
werden soll.
<form ....
.....
<input type="submit" name="cmd" value="Speichern">
Am Anfang des Skripts überprüfe ich dann, ob gesendet wurde:
$cmd=$_POST['cmd'];
if($cmd=="Speichern"){
// Dann Textfelder auslesen
$text1=trim($_POST['textfeld1']);
$text2=trim($_POST['textfeld2']);
// usw.
// Dann kannst du dann relevante oder eben alle Variablen
// überprüfen
if(!$text1){
// Fehlerbehandlung
}
// Wenn alles O.K., Datenbankverbindung aufbauen und Daten verarbeiten
}
Gruß
Günni
Probier es doch mal hiermit:
Razor
if(!empty($_POST['feldname'])) {
$check_one = true;
} else {
$check_one = false;
}
Razor
@helmut
Hi,
hier mal eine MINI-Datei zum Testen.
Das Ganze schreibst du in eine Datei, rufst die Datei auf, und
versuchst mal nachzuvollziehen, was da passiert.
Gruß
Günni
Hi,
hier mal eine MINI-Datei zum Testen.
if($_POST['cmd']=="Speichern"){ // cmd ist der name der Schaltfläche,
// Speichern ist der value-Wert der Schaltfläche(siehe unten im Formular)
// ------------------------------------------------------------------------------------------
// Durch die Funktion trim(string) werden Leerstellen vor und nach dem
// WERT entfernt. Heißt, auch wenn der User nichts eingibt oder auch
// nur ein paar mal die Leertaste drückt, hat der User nichts eingegeben.
// Also ist $text LEER, und es wird der else-Zweig ausgeführt.
$text=trim($_POST['txt_feld']);
if($text){
echo "Datenbankverbindung wird aufgebaut<br>";
echo "SQL-Anweisung wird erstellt<br>";
echo "SQL-Anweisung wird ausgeführt";
}else{
echo "Sie haben keinen Eintrag vorgenommen!<br>";
echo "<a href=\"helmut.php\">Zurück zum Formular</a>";
exit; // exit beendet das Skript, so dass auch nachfolgende
// Anweisungen nicht mehr ausgeführt werden
}
}
<html>
<head>
<title>Untitled</title>
</head>
<body>
<form action="helmut.php" method="post">
<input type="text" name="txt_feld"><br>
<input type="submit" name="cmd" value="Speichern">
</form>
</body>
</html>
Das Ganze schreibst du in eine Datei, rufst die Datei auf, und
versuchst mal nachzuvollziehen, was da passiert.
Gruß
Günni
@helmut
Hi,
Dann gib' doch in dem Feld, das überprüft wird,
ein oder mehrere Leerzeichen ein.
Schon funkt. deine Überprüfung nicht mehr, und das Formular
wird gesendet.
Leerzeichen sind nämlich auch Zeichen, wenn auch unsichtbar.
Und somit hat der User, wie schon oben erwähnt, eine gültige
Eingabe gemacht.
Gruß
Günni
Hi,
Das geht.
Dann gib' doch in dem Feld, das überprüft wird,
ein oder mehrere Leerzeichen ein.
Schon funkt. deine Überprüfung nicht mehr, und das Formular
wird gesendet.
Leerzeichen sind nämlich auch Zeichen, wenn auch unsichtbar.
Und somit hat der User, wie schon oben erwähnt, eine gültige
Eingabe gemacht.
Gruß
Günni
Falls Sie es auch in PHP verwenden können, dann machen Sie es einfach mit explode().
MfG
take.
$split = explode("-", $_POST["zahlen"]);
if (count($split) != 2) die();
if ($split < 1000 && $split > 99 && $split[1] < 10000 && $split[1] > 999) {
...
}
MfG
take.