Undefined index

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

  • Undefined index

    Hallo!
    Ich bekomme diese Meldung:
    Notice: Undefined index: $iduser in ***admin_change_user_dates.php on line 34
    Die entsprechenden Zeilen:

    PHP-Code:
    if (isset($_POST['idangegebenchange']))
    {
     
    $userid=$_POST['ID'];
     
    $sql="SELECT
              Name,
              isAdmin,
              Money
           FROM
             Kunden
           WHERE
              ID='
    $userid'";
      
    $result=mysql_Query($sql) or die ("MYSQL-Fehler: " mysql_error());
      
    $row mysql_fetch_assoc($result);
    echo 
    'Bitte Daten wie gewünscht ändern!';
    echo  
    '<form method="post" action="admin_change_user_dates.php">
           <label>ID:            </label><input name="iduser" type="text" value="'
    .$userid.'" disabled><br>  
           <label>Benutzername:  </label><input name="name" type="text" value="'
    .$row['Name'].'"><br>
           <label>Administrator: (1=nein, 2=Ja):</label><input name="admin" type="text" value="'
    .$row['isAdmin'].'"><br>
           <label>Geld:          </label><input name="money" type="text" value="'
    .$row['Money'].'"><br>
           <input name="aendern" type="submit" id="aendern" value="Ändern">
           </form>'
    ;
    echo 
    '<a href="admin_change_user.php">Benutzer Daten ändern</a><p />';
    }

    else

    if (isset(
    $_POST['aendern']))
    {

     
    $iduserid=$_POST['iduser'];  //<<<<=====Zeile 34
     
    $namename=$_POST['name'];
     
    $adminadmin=$_POST['admin'];
     
    $moneymoney=$_POST['money']; 
    Wie kann ich den Fehler beheben?

  • #2
    Indem du schaust ob $_POST['iduser'] existiert, z.B. mittels empty oder isset.
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      existiert nicht.
      zugewiesen wird es durch die Zeile:
      PHP-Code:
      <label>ID:            </label><input name="iduser" type="text" value="'.$userid.'" disabled><br
      Wie es oben auch drinnsteht.
      Woran kann das liegen, und wie kann ich das dann beheben?

      OK, es liegt an dem "disabled".
      Gibt es ne andere Möglichkeit um das Problem zu beheben, ohne das disabled rausnehmen zu müssen?
      Zuletzt geändert von maximus Caesar; 30.04.2006, 20:22.

      Kommentar


      • #4
        nein. felder mit dem attribut 'disabled' werden je nach laune des browser-entwicklers mitgesendet oder auch nicht.
        du kannst
        * die userID als hidden field mitschicken
        * die userID in der session mitspeichern

        was du übrigens tunlichst vermeiden solltest, ist dei isAdmin-funktionalität. dafür gibt
        es
        * auswahllisten
        * radio-buttons
        * checkboxen

        ... und jede ist besser, als den user zu zwingen, eine magische zahl einzutippen.

        Kommentar


        • #5
          OK.
          Wie kann ich sämtliche einträge in Kunden -> Name in eine Auswahlliste eintragen, und den gewählten Wert in eine Variable speichern?

          Kommentar


          • #6
            http://tut.php-q.net/formulare.html

            Kommentar


            • #7
              readonly anstatt disabled.

              Kommentar

              Lädt...
              X