Falsche Darstellung

  • Moin, ich bin glücklicher Besitzer der HTML, PHP CSS Kurse von Axel Pratzner und habe auf einem Rechner XAMPP und Scriptly installiert.
    1, Problem, ich kriege Firefox unter Scriptly nicht hin
    2. so sieht meine Darstellung des Kontaktformulars aus dem php Kurs 2 aus Quellcode:
    <br />
    <b>Notice</b>: Undefined index: mail in <b>C:\xampp\htdocs\kontaktformular.php</b> on line <b>2</b><br />
    <h1>Kontaktformular</h1><br />
    <b>Notice</b>: Undefined index: abgesendet in <b>C:\xampp\htdocs\kontaktformular.php</b> on line <b>5</b><br />
    <form action="kontaktformular.php" method="get"><p>E-Mail_Adresse<br /><input type="text" name="mail" value="<br />
    <b>Notice</b>: Undefined index: mail in <b>C:\xampp\htdocs\kontaktformular.php</b> on line <b>12</b><br />
    " size="30" /><p>Ihre Nachricht<br /><textarea name="anliegen" rows="7" cols="60"><br />
    <b>Notice</b>: Undefined index: anliegen in <b>C:\xampp\htdocs\kontaktformular.php</b> on line <b>16</b><br />
    </textarea><input type="hidden" name="abgesendet" value="ja"/><input type="submit" value="senden" /></form>


    was ist bei mir falsch eingestellt?
    Wie kann ich in dieses Forum eine png einbinden, um Euch zu zeigen, wie schräg die Seite aussieht. Übrigens unter Firefox und Chrome ist das noch schlimmer

  • Hi,
    zum ersten: Bei Scriptly kann man die eingebauten Browser vergessen, speichere die Seite und öffne sie normal mit dem Browser.


    Zweitens: "Undefined index" heißt in PHP grundsätzlich, dass dieser Variablenname bis dahin nicht vorhanden war. Der BEfehl heißt wahrscheinlich echo $abgesendet; oÄ, wenn es die Variable $abgesendet bis dahin noch nicht gab, kann sie auch nicht ge-echot werden :D


    Einfache Lösung, am Anfang des Scriptes die Variablen bereits deklarieren, einfach $abgesendet = ""; an den Anfang setzen. Damit existiert die Variable bereits, und der Hinweis verschwindet.

  • Das ist korrekt, jedoch deutet Undefined index darauf hin das es sich um ein Array handelt, beim Stichwort Kontaktformular tippe ich stark auf:

    PHP
    $_GET["abgesendet"]


    Eine Möglichkeit wäre am Anfang des Scripts folgendes anzugeben:

    PHP
    error_reporting(0);


    Außerdem kann man auch mit @ arbeiten (eher unschön die Lösung):

    PHP
    @$_GET["abgesendet"]


    Am Ende kann man auch einfach mit isset arbeiten:

    PHP
    if(isset($_GET["abgesendet"])) {
      // Auswertung
    }


    Diese Methode wird grundlegend erstmal kein notice auswerfen. Leider wird dieser Zustand im PHP-Kurs offenbar bis heute nicht angesprochen ?(

  • Okay ich habe auch nur spekuliert, dann nehme ich das zurück und bin froh das ich den Smiley mit den Fragezeichen benutzt habe :D


    Die Frage bleibt aber: Ist dem auch auf den DVD's so?

  • Nein Basii,
    wohl nicht.

    Zitat von &quot;http://www.php-kurs.com/notice-undefined-index-meldung.htm&quot;

    Warum wird die Fehlermeldung im Kurs nicht erwähnt?


    Da der PHP-kurs.com ständig erweitert wird, sind nicht immer alle Inhalte bis ins Detail auf dem aktuellen Stand. Dadurch, dass es in einer früheren PHP-Version diese Notizen noch nicht gab, werden sie im Kurs nicht erwähnt.

Jetzt mitmachen!

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