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

Eingabeüberprüfung eines Kontaktformulars

Status
Für weitere Antworten geschlossen.

Icy

Neues Mitglied
Hallo zusmamen,

ich stehe vor einem speziellen Problem, für das es wahrscheinlich wieder eine total simple Lösung gibt ^^

Also ich habe ein Formular mit einem Feld:

HTML:
<form action="check.php" method="post">
    <input type="text" name="eingabe" />
    <input type="submit" />
</form>

So, auf der check.php wird dies jetzt überprüft und ggf. eine Fehlermeldung mit PHP ausgegeben:

PHP:
<?php
    if ($_POST['eingabe'] == "") {
        echo "Gib bitte einen Namen an!";
    } else {
        // weiter verarbeiten
    }

Soo, mein Problem ist nun, dass wenn man nichts angibt, man trotzdem auf eine andere Seite (check.php) weitergeleitet wird. Ich hätte es aber gern, dass die Eingabe überprüft wird, bevor man überhaupt weitergeleitet wird. Praktisch beim Anklicken des submit-Buttons.
Ist das irgendwie (am besten ohne JS) möglich?

MfG Icy
 
klar, und wenns dann auch im richtigen Forum ist, hier die lösung
Code:
<script type="text/javascript">
function check() {
  if (document.getElementById('xyz').value == "")
    return false
  return true
}
</script>
<form onsubmit="return check()">
<input type="text" name="x" value="" id="xyz" />
</form>
 
Ich danke dir für die schnelle Antwort.

Finde es nur nachteilhaft, dass soetwas nur per JS geht, da ja bekanntlich nicht jeder JS aktiviert hat. Machen das denn bspw. die größeren Gästebücher genau so, mit JS?

MfG Icy
 
Ich danke dir für die schnelle Antwort.
Finde es nur nachteilhaft, dass soetwas nur per JS geht, da ja bekanntlich nicht jeder JS aktiviert hat. Machen das denn bspw. die größeren Gästebücher genau so, mit JS?
MfG Icy
Nein, die werden nur prüfen ob die Variable existiert und ob sie Inhalt hat.
Wie du es ja schon gemacht hast.
Ich denke, sie werden nach der if-Bedingung keine andere Seite laden, sondern includen nur einen anderen Inhalt.
Am einfachsten ist es wenn du das Formular an "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
sendest.
So bleiben die GET-Variablen erhalten.


Ich bin in php etwas ungeschickt aber im Grunde wird es so sein.
In Kommentarfunktionen bin ich damit aber bisher gut gefahren.

Franks Variante hat natürlich den Vorteil, daß er schon vor dem Absenden prüft ob etwas eingetragen wurde.
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben