Problem mit if und isset

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit if und isset

    Hallo,

    ich weiß vermutlich wiedereinmal eine Frage die viele zum Kopfschütteln bringen wird, allerdings ist PHP nicht unbedingt meine Stammsprache, aber für ein Datenbankprojekt leider notwendig.

    zu meinem Problem.

    Ich will eine kleine Sicherheitsabfrage schaffen welche von einer Seite vorher gesendete Daten prüft ob sie befüllt wurde. (also wurde alle Felder ausgefüllt). Das übermitteln der Daten bringt keine Probleme, jedoch die von mir (vermutlich viel zu einfach gedachte If-Abfrage). Vorweg es scheitert vielleicht schon am Syntax, da ich mir nicht sicher bin ob man in php den und operator mit && oder AND initilisiert, doch das wäre ja eher ein kleineres Problem.

    Zu testzwecken hatte ich natürlich einige Felder leergelassen damit da auch nichts gesendet wird.

    PHP-Code:
    if(isset($_POST['vorname']) AND isset($_POST['zuname'])AND
     isset(
    $_POST['Anschrift'])AND isset($_POST['PLZ'])AND isset($_POST['Gebdat'])
    AND isset(
    $_POST['Fscheindat'])AND isset($_POST['klasse']))
    {
    $vorname $_POST['vorname'];
    $nachname $_POST['zuname'];
    $anschrift $_POST['Anschrift'];
    $PLZ $_POST['PLZ'];
    $Gebdat $_POST['Gebdat'];
    $Fscheindat $_POST['Fscheindat'];
    $klasse $_POST['klasse'];
    echo (
    "geht doch");
    }
    else
    {
    echo (
    "fehler");


  • #2
    Prüft, ob eine Variable existiert und nicht NULL ist.
    PHP: isset - Manual

    Prüft, ob eine Variable einen Wert enthält
    PHP: empty - Manual

    Kommentar


    • #3
      Vielen dank, manchmal reicht son kleiner Hinweis schon.

      Kommentar


      • #4
        Hallo,

        nur als Tipp, um den Code zu verschlanken: isset() kann mit mehreren Argumenten umgehen und liefert nur true zurück, wenn alle die Bedingung erfüllen, definiert und nicht null zu sein.

        Dadurch kann man deine Bedingung auch verkürzt so schreiben:
        PHP-Code:
        isset(
            
        $_POST['vorname'],
            
        $_POST['zuname'],
            
        $_POST['Anschrift'],
            
        $_POST['PLZ'],
            
        $_POST['Gebdat'],
            
        $_POST['Fscheindat'],
            
        $_POST['klasse']

        Edit: In Bedingungen verwende ich nie AND und OR, sondern && und ||. In PHP gibt es da Unterschiede bezüglich der Rangfolge. Das macht sich bei Zuweisungen bemerkbar und auch beim Mischen von AND mit ||. Dann hat nämlich plötzlich das ODER den Vorrang und alles geht drunter und drüber.

        Gruß,

        Amica
        Zuletzt geändert von AmicaNoctis; 18.01.2012, 10:37.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar

        Lädt...
        X