Ankündigung

Einklappen
Keine Ankündigung bisher.

Undefined index trotz korrekter Anleitung aus Buch!

Einklappen

Neue Werbung 2019

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

  • Undefined index trotz korrekter Anleitung aus Buch!

    Hallo!

    Ich bekomme Fehlermeldungen, obwohl ich alles aus einem Lehrbuch abgetippt und bearbeitet habe
    Das Buch ist : PHP & MySQL von Kopf bis Fuß.
    Ich bin im Moment auf Seite 37 aber es geht nicht! Habe nun schon 1 Tag nachgelesen und probiert, klappen tut es aber immer noch nicht
    So habe ich meine Arbeitsumgebung eingerichtet:

    PHP Version 5.2.9-2

    Apache Version Apache/2.2.11 (Win32) PHP/5.2.9-2
    Apache API Version 20051115

    Mysql
    MySQL Support enabled
    Active Persistent Links 0
    Active Links 0
    Client API version 5.0.81

    Die PHP Datei
    HTML Datei
    1 JPG-Bild und
    CSS Datei
    habe ich in den htdocs Ordner von Apache kopiert.

    Es ist halt eine Übung, wo man wo man Namen und weitere Daten von einer Alien Entführung eingeben kann und diese soll dann übermittelt werden. Das also z.B. die E-mail noch nicht ankommt, ist ok und normal! Im jetzigem Stadium soll aber schon dies einwandfrei verarbeitet werden (so soll die Seite also aussehen, nachdem auf der html Seite Angaben gemacht wurden und der Button "Entführung melden" angeklickt wurde:

    Von Aliens entführt - eine Entführung melden

    Sie wurden User Angabe entführt und waren User Angabe weg
    Beschreiben Sie sie: User Angabe
    War Fang da? User Angabe mit Ja / Nein (auf HTML-Seite zum anklicken)
    Ihre E-Mail-Adresse: User Angabe

    So soll es also sein, bekommen tue ich aber dies hier:

    Von Aliens entführt - eine Entführung melden

    Notice: Undefined index: wannesgeschah in C:\Apache22\htdocs\meldung.php on line 8

    Notice: Undefined index: beschreibung in C:\Apache22\htdocs\meldung.php on line 10
    Vielen Dank für den Bericht.
    />Sie wurden entführt und waren 11 Stunden weg
    Beschreiben Sie sie:

    Notice: Use of undefined constant §fang_gesehen - assumed '§fang_gesehen' in C:\Apache22\htdocs\meldung.php on line 17
    War Fang da? §fang_gesehen
    `Ihre E-Mail-Adresse nalf@endloseweiten.de

    Hier der Code der HTML-Seite (meldung.html):
    PHP-Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
    >
    <
    html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
    <
    head>
      <
    meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <
    title>Von Aliens entführt eine Entführung melden</title>
      <
    link rel="stylesheet" type="text/css" href="style.css" />
    </
    head>
    <
    body>
    <
    h2>Von Aliens entführt &ndasheine Entführung melden</h2>
    <
    p>Die Geschichte Ihrer Alienentführung:</p>
    <
    form method="post" action="meldung.php">
      <
    label for="vorname">Vorname:</label>
      <
    input type="text" id="vorname" name="vorname" /><br />
      <
    label for="nachname">Nachname:</label>
      <
    input type="text" id="nachname" name="nachname" /><br />
      <
    label for="email">Wie lautet Ihre E-Mail-Adresse?</label>
      <
    input type="text" id="email" name="email" /><br />
      <
    label for="wanngeschahes">Wann geschah es?</label>
      <
    input type="text" id="wanngeschahes" name="wanngeschahes" /><br />
      <
    label for="wielange">Wie lange waren Sie unterwegs?</label>
      <
    input type="text" id="wielange" name="wielange" /><br />
      <
    label for="wieviele">Wie viele haben Sie gesehen?</label>
      <
    input type="text" id="wieviele" name="wieviele" /><br />
      <
    label for="alienbeschreibung">Wie sahen die Aliens aus?</label>
      <
    input type="text" id="alienbeschreibung" name="alienbeschreibung" size="32" /><br />
      <
    label for="wassietaten">Was wurde mit Ihnen gemacht?</label>
      <
    input type="text" id="wassietaten" name="wassietaten" size="32" /><br />
      <
    label for="fanggesehen">Haben Sie Fang gesehen?</label>
      
    Ja <input id="fanggesehen" name="fanggesehen" type="radio" value="Ja" />
      
    Nein <input id="fanggesehen" name="fanggesehen" type="radio" value="Nein" /><br />
      <
    img src="fang.jpg" width="100" height="175"
        
    alt="Mein entführter Hund Fang." /><br />
      <
    label for="weiteres">Weitere Bemerkungen:</label>
      <
    textarea id="weiteres" name="weiteres"></textarea><br />
      <
    input type="submit" value="Entführung melden" name="submit" />
    </
    form>
    </
    body>
    </
    html
    Hier der Code der PHP-Seite (meldung.php):
    PHP-Code:
    <html>
    <head>
    <title>Von Aliens entführt - eine Entführung melden</title>
    </head>
    <body>
    <h2>Von Aliens entführt - eine Entführung melden</h2>
    <?php
        $wann_es_geschah 
    $_POST['wannesgeschah'];
        
    $wie_lange $_POST['wielange'];
        
    $alien_beschreibung $_POST['alienbeschreibung'];
        
    $fang_gesehen $_POST['fanggesehen'];
        
    $email $_POST['email'];
        
        echo 
    'Vielen Dank für den Bericht.<br />';
        echo 
    'Sie wurden ' $wann_es_geschah;
        echo 
    'entführt und waren ' $wie_lange ' weg<br />';
        echo 
    'Beschreiben Sie sie: ' $alien_beschreibung '<br />';
        echo 
    'War Fang da? ' $fang_gesehen '<br />';
        echo 
    'Ihre E-Mail-Adresse ' $email;
    ?>
    </body>
    </html>
    Und die CSS-Seite (style.css):

    PHP-Code:
    form label {   displayinline-block;   width225px;   
    font-weightbold;

    Ich komme leider überhaupt nicht darauf, woran es liegen kann, ich kann auch leider nicht programieren, ich möchte es ja erst lernen und hoffe nun auf Hilfe, da ich NICHT GUT BIN! Der Wille ist aber da. Heute habe ich auch schon den ganzen Tag in Foren geguckt, aber keine Lösung gefunden. Oder liegt es an den Versionen? Bitte: Nicht einfach sagen "Man, guck doch da oder hier, brauchst kein PHP lernen, wenn das nicht weisst...", das hilft mir nicht, ich weiß das es in Line 8 und 10 Fehler gibt, aber die sind wie Line 9 und 11, wo es KEINE Fehlermeldung gibt. Bin echt am Verzweifeln...

    Danke für jede Hilfe.

  • #2
    §fang_gesehen

    Kommentar


    • #3
      Undefined Index heißt das du in einem Array ($_POST) auf einen Index/Schlüssel zugreifst (['wannesgeschah']) der nicht existiert.

      Nun schau dir mal die Schlüssle in dienem $_POST Array an und die Namen deiner Formularfelder. wanngeschahes vs. wannesgeschah?

      Notice: Use of undefined constant §fang_gesehen - assumed '§fang_gesehen' in C:\Apache22\htdocs\meldung.php on line 17
      War Fang da? §fang_gesehen
      Passt nicht zum gepostetem Code. §fang_gesehen kommt dort nicht vor. Es steht korrekt $fang_gesehen drin.

      Ohne das $ wird der Name als Konstante behandelt, und die Konstante §fang_gesehen gibt es nicht und das möchte PHP dir mitteilen.

      Kommentar


      • #4
        wanngeschahes / wannesgeschah -> evtl. sollte über bessere Variablennamen nachgedacht werden. Da ist ja schon beim Lesen Verwirrung vorprogrammiert

        Kommentar


        • #5
          Hallo!

          Damit nicht jeder denkt, ich bin total unfähig: Die falsche HTML-Datei ist so (falsch) aus dem Buch bzw. sollte ich so aus dem Internet übernehmen! Da macht das lernen Spaß & man freut sich auf die nächsten Fehler dieser Art. Vor allem wenn es schwerer wird

          @ nikosch: Dein Lösungsansatz stimmte leider nicht, trotzdem danke.

          @ Dark Guardian: Danke, dies war der Fehler und durch Deine Antwort habe ich sehr viel gelernt, auch über den Fehler hinaus!

          @ Trainmaster: Danke für den Hinweis, aber das Lehrbuch hat dies so vorgegeben und davon wollte ich nicht abweichen. (Stimmt wirklich).

          Kommentar

          Lädt...
          X