Andreas Fröse: PHP Input

``

<div id="Login">    <!--Das Login!!!!!!!!!!!!!!!!!!!!!!!!!!-->
<h2>Login</h2>
          <form action="index.php" name="login" method="POST";>
<input type="text" name="email"; value="E-Mail"         onfocus="this.value='';";/><br/>
<input type="password" name="passwort";  value="Passwort" onfocus="this.value='';";/>
<input type="submit" value="Anmelden" />
           </form>

<?php

/* Dies ist line 18 -----> */ $email = $_POST['email'];
  /* Dies ist line 19 -----> */ $passwort = $_POST['passwort'];

echo $email;  
echo $passwort;  

?>

Und dann kommt immer diese Meldung:

Notice: Undefined index: email in C:\xampp\htdocs\Andreas\inc_right.php on line 18

Notice: Undefined index: passwort in C:\xampp\htdocs\Andreas\inc_right.php on line 19

kann mir jemand bei der Fehlersuche helfen?  Bitte ;)

  1. $_POST['email'] und $_POST['passwort'] scheint es nicht zu geben.

    1. Lieber Encoder,

      $_POST['email'] und $_POST['passwort'] scheint es nicht zu geben.

      ... und das ist immer dann der Fall, wenn die Seite zum ersten Mal geladen wird, ohne dass da etwas an POST-Daten übermittelt wurde.

      Liebe Grüße,

      Felix Riesterer.

      --
      ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
  2. 1. nehme mal die ; aus deinen ganzen html-elementen raus. Also alle, bis auf die vier der php-Zeilen und die zwei aus den JS dingern.
    2. Keine Ahnung. Wenn die form, wie du sie zeigst, auch in der index.php steht, dann muss es zu dieser Meldung kommen, wenn du die Seite initial aufrufst. Besser du machst irgendwas davor wie:

    <?php  
    if(isset($_POST["sendform"]){  
      // hier die Auswertung  
    }  
    ?>
    

    und dann...

    <form action="index.php" name="login" method="POST">  
      <input type="hidden" name="sendform" value="true">  
      <input type="text"   name="email"    value="E-Mail"         onfocus="this.value='';"/><br/>  
    <input type="password" name="passwort" value="Passwort" onfocus="this.value='';"/>  
    </form>
    

    3. Schreib dann mal ins script var_dump($_POST); und schau, ob was ankommt.

    Cheers,
    Baba

  3. <form action="index.php" name="login" method="POST";>
    <input type="text" name="email"; value="E-Mail"         onfocus="this.value='';";/><br/>
    <input type="password" name="passwort";  value="Passwort" onfocus="this.value='';";/>
    <input type="submit" value="Anmelden" />
               </form>

    Ich kenne nicht en Grund der Fehlermeldung. Aber warum setzt du so viele ;

    Nimm die mal raus.

    Rudi

    1. Moin!

      Ich kenne nicht en Grund der Fehlermeldung. Aber warum setzt du so viele ;

      Der Grund der Fehlermeldung ist, dass die Datei ein HTML Formular ausgibt und sofort die Eingabefelder verarbeiten will. Da das HTML Formular beim ersten Aufruf nicht abgeschickt wurde gibt es keine Felder email und passwort im POST.

      Hier wurde das Grundkonzept der Kommunikation zw. Client und Server nicht beachtet. Der Server (php) kann Clientinformationen nicht erraten sondern muss sie von diesem geschickt bekommen. So wie es ist, soll das Program eine Eingabe verarbeiten die noch nicht gemacht und abgeschickt wurde.

      --
      Signaturen sind blöd!