Check ob Ergebniseingabe erfolgt ist funktioniert nicht

  • Hallo,
    ich habe in einem Formular 2 Textfelder in welche jeweils
    ein Fußballergebnis eingetragen werden soll.

    Um zu prüfen ob diese leer sind habe ich die Funktion isset() genommen.
    Doch obwohl die Variablen gar keinen Wert haben wird trotzdem
    das ausgegeben, was eigentlich nur kommen soll, wenn die Ergebnisse
    eingetragen sind.

    PHP
    $erg1 = $_POST['erg_1'];
    $erg2 = $_POST['erg_2'];
    HTML
    <input type="text" name="erg_1" size="2">
    :
    <input type="text" name="erg_2" size="2">
    PHP
    if (isset($erg1,$erg2)){
    echo 'Hier ist Ergebnis1 '.$erg1;
    }else {
    echo '<br/><b>Es wurde kein Ergebnis eingegeben.</b>';
    }


    Danke

  • Wobei in deinem Falle noch ein negierendes ! davor muss.

    PHP
    if (!empty($erg1) && !empty($erg2)){
    echo 'Hier ist Ergebnis1 '.$erg1;
    }else {
    echo '<br/><b>Es wurde kein Ergebnis eingegeben.</b>';
    }


    Ich glaube auch empty nimmt nur einen Parameter entgegen.

    Einmal editiert, zuletzt von FaFoo (19. Januar 2009 um 14:09)

  • Hallo,
    das dachte ich mir fast schon das ich empty nehm muss.
    Doch frage ich mich trotzdem noch warum es auch nicht
    mit isset ging immerhin war die Variable ja nicht gesetzt und
    ich habe auch nicht ins Textfeld reingeklickt oder so.
    Reicht da allein folgende Anweisung aus damit es als gesetzt
    zählt?

    PHP
    $erg1 = $_POST['erg_1'];
    $erg2 = $_POST['erg_2'];

    Danke

  • Textfelder werden immer übergeben, egal, ob etwas eingegeben wurde oder nicht. Deshalb liefert isset immer true.