PHP Kurs DVD 2 Folge 76

  • Hallo an alle! Habe vor 2 Tagen mit dem Video PHP Kurs begonnen (PHP Neuling) und stecke jetzt leider bei Folge 76 fest. Im Video von Hrn. Pratzner gibt es bei diesem Beispiel KEINE Notice Meldung, aber ich bekomme leider immer eine Notice undefined index.... Sowohl in der Scriptly Vorschau als auch direkt in Firefox, IE und Safari....


    Hier der Code:


    <?php
    //Schritt 1 - Abfrage ob Name & Anzahl vorhanden sind
    if ( $_GET['nachname'] == "" or $_GET['anzahl'] == "")


    {
    //Schritt 2 - Form-Tag Ausgabe
    echo '<form action="reservierung.php" method="get">';
    //Schritt 6 - Formularfeld für Name
    echo '<p>Nachname:<br />';
    echo '<input type="text" name="nachname" size="20" value="" />';
    //Schritt 12 - Formularfeld für Anzahl
    echo '<p>Anzahl gew&uuml;nschter Reservierungen:<br />';
    echo '<input type="text" name="anzahl" size="4" value=""/>';
    //Schritt 16 - Submit Button
    echo '<p><input type="submit" value="senden" />';
    //Schritt 17 - Ende vom Formular
    echo '</form>';
    }
    ?>


    Fehlermeldung: Notice: Undefined index: nachname in C:\xampp\htdocs\reservierung.php on line 4


    Mir ist schon klar, dass beim ersten Aufruf $_GET['nachname'] und auch $_GET['nachname'] nicht definiert sind, aber warum passiert das um Himmels Willen NICHT im Video ? :?
    Und wie lässt sich diese Notice Meldung mit sauberer Programmierung vermeiden? Die Notice Meldungen im php.ini abzuschalten halte ich nicht für einen richtigen Weg?


    Vielleicht kann mir jemand von den Wissenden weiterhelfen, weil ich stehe da echt an....
    Danke!

  • Naja.. also du hattest quasi schon den richtigen Einfall^^

    Zitat von &quot;pepizwerg&quot;

    Die Notice Meldungen im php.ini abzuschalten [...]


    Ich kannte diese Art von Fehlermeldungen sogar als ich angefangen habe überhaupt nicht, weil diese bei mir standardmäßig aus waren :D
    Erst als ich via error_reporting(E_ALL); mal alle anzeigen ließ, bekam ich diese auch mal zu Gesicht :roll:
    Und seit dem konfiguriere ich meine php.ini immer so hingehend, sollte diese nicht schon so konfiguriert sein^^


    Naja.. andere Möglichkeit wäre, dass du isset() verwendest.. :/
    Aber das ist mir persönlich irgendwie immer zu aufwendig :'D

  • Danke Sarkkan... Ich schlucke die bittere Pille und habe es über error_reporting gelösen - ini_set('error_reporting', E_ALL ^ E_NOTICE); - Obwohl ich verstehe trotzdem nicht warum das im Video Kurs nicht auch passiert? Kann man error reporting noch wo anders einstellen als direkt im php script?


    Ich kann mich noch an alte Pascal & C Zeiten :wink: erinnern, wo Variablen vorher definiert und auch gesetzt werden mussten, da man ja nicht wissen konnte in welchem Zustand sich die Variablen beim ersten Aufruf befanden. Wäre das auch noch eine Lösung?
    Vielen Dank auf jeden Fall!

  • 1. Ich denke mal, dass Lauras wohl wirklich ins Schwarze getroffen hat.
    Alle Einstellungen sind in dieser php.ini gespeichert und können natürlich auch einfach bearbeitet werden (wenn man Zugriff auf diese Datei hat).
    Das habe ich auf meinem local schon häufiger gemacht^^ Und nach einem Server-Neustart ist alles so, wie man es haben will^^
    Das was du dort machst ist einfach nur temporär Einstellungen vornehmen^^ Den gleichen Effekt erzielst du übrigens auch wenn du einfach error_reporting(E_ALL ^ E_NOTICE); schreibst :)


    2. Igitt, Igitt <.< Pascal..
    Aber ja, dies würde funktionieren^^ Man macht es in PHP aber einfach nie/selten dadurch, dass PHP diese Flexibilität bietet^^
    Aber manchmal ist es sogar notwendig, dass du dies so machst.
    Ich musste z.B. gestern eine Variabel vorher erzeugen, weil mir sonst mein Script einen Fehler ausgeworfen hatte :D

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!