Undefined Index: - Wer kann mir helfen

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

  • Undefined Index: - Wer kann mir helfen

    Hallo zusammen,

    ich habe Probleme beim Avatar hochladen und löschen. Finde den Fehler aber nicht. Wer kann mir helfen ???

    Hier der Source-Code:

    PHP-Code:
     <?php 

    session_start
    ();     
    error_reporting(E_ALL); 

        include(
    "mysql.php"); 
        include(
    "functions.php"); 

        include(
    "autologout.php"); 

        if(!isset(
    $_SESSION['UserID'])) { 
             echo 
    "Sie sind nicht eingeloggt.<br>\n"
                  
    "Bitte <a href=\"login.php\">loggen</a> Sie sich zuerst ein.\n"
        } 
        else { 

            
    // Avatar hochladen 
            
    if(isset($_POST['submit']) AND $_POST['submit'] == "Avatar hochladen") { 
                
    $errors = array(); 
                
    // Uploadfehler prüfen 
                
    switch ($_FILES['pic']['error']){ 
                    case 
    1$errors[] = "Bitte wählen Sie eine Datei aus, die kleiner als 20 KB ist."
                                        break; 
                    case 
    2$errors[] = "Bitte wählen Sie eine Datei aus, die kleiner als 20 KB ist."
                                        break; 
                    case 
    3$errors[] = "Die Datei wurde nur teilweise hochgeladen."
                                        break; 
                    case 
    4$errors[] = "Es wurde keine Datei ausgewählt."
                                        break; 
                    default : break; 
                } 
                
    // Prüfen, ob eine Grafikdatei vorliegt 
                
    if(!@getimagesize($_FILES['pic']['tmp_name'])) 
                    
    $errors[] = "Ihre Datei ist keine gültige Grafikdatei."
                else { 
                    
    // Mime-Typ prüfen 
                    
    $erlaubte_typen = array('image/pjpeg'
                                            
    'image/jpeg'
                                            
    'image/gif'
                                            
    'image/png' 
                                           
    ); 
                    if(!
    in_array($_FILES['pic']['type'], $erlaubte_typen)) 
                        
    $errors[] = "Der Mime-Typ der Datei ist verboten."
                        
    // Endung prüfen 
                        
    $erlaubte_endungen = array('jpeg'
                                                   
    'jpg'
                                                   
    'gif'
                                                   
    'png' 
                                                  
    ); 
                        
    $endung strtolower(substr($_FILES['pic']['name'], strrpos($_FILES['pic']['name'], '.')+1)); 
                        if(!
    in_array($endung$erlaubte_endungen)) 
                            
    $errors[] = "Die Dateiendung muss .jpeg .jpg .gif oder .png lauten "

                        
    // Ausmaße prüfen 
                        
    $size getimagesize($_FILES['pic']['tmp_name']); 
                            if (
    $size[0] > 150 OR $size[1] > 150
                                
    $errors[] = "Die Datei darf maximal 150 Pixel breit und 150 Pixel hoch sein."
                } 
                
    // Dateigröße prüfen 
                
    if($_FILES['pic']['size'] > 0.2*1024*1024
                    
    $errors[] = "Bitte wählen Sie eine Datei aus, die kleiner als 20 KB ist."

                if(
    count($errors)){ 
                    echo 
    "Das Avatar konnte nicht gespeichert werden.<br>\n"
                         
    "<br>\n"
                    foreach(
    $errors as $error
                        echo 
    $error."<br>\n"
                } 
                else { 
                    
    // Bild auf dem Server speichern 
                    
    $uploaddir 'avatare/'
                    
    // neuen Bildname erstellen 
                    
    $Name "IMG_".substr(microtime(),-8).".".$endung
                    if (
    move_uploaded_file($_FILES['pic']['tmp_name'], $uploaddir.$Name)) { 
                        
    $sql "UPDATE 
                                        User 
                                SET 
                                        Avatar = \" " 
    mysql_real_escape_string(trim($Name)) . " \" 
                                WHERE 
                                        ID = \" " 
    $_SESSION['UserID'] . " \" 
                               "

                        
    mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error()); 
                        echo 
    "Das Avatar wurde erfolgreich gespeichert.<br>\n"
                    } 

                    else { 

                        echo 
    "Es trat ein Fehler auf, bitte versuche es später erneut.<br>\n"
                    } 
                } 
            } 
             
            
    // Avatar löschen 
            
    elseif(isset($_POST['submit']) AND $_POST['submit'] == 'Avatar löschen') { 
                 
                
    // Bildname des Avatars aus der Datenbank holen 
                
    $sql "SELECT 
                                Avatar 
                        FROM 
                                User 
                        WHERE 
                                ID = ' " 
    $_SESSION['UserID'] . " ' 
                       "

                 
                
    $result mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error()); 
                
    $row mysql_fetch_assoc($result); 
                
    // Datei löschen 
                
    unlink('avatare/'.$row['Avatar']); 
                
    // Bildname des Avatars als leeren String setzen 
                
    $sql "UPDATE 
                                User 
                        SET 
                                Avatar = '' 
                        WHERE 
                                ID = '"
    .$_SESSION['UserID']."' 
                       "

                
    mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error()); 
                echo 
    "Der Avatar wurde erfolgreich gelöscht.<br>\n"
            } 

                
    // Avatar hochladen 
                
    echo "<form name='Avatar' action=\" " $_SERVER['PHP_SELF'] . " \" method='POST' enctype='multipart\form-data'>\n"

                echo 
    "<table>\n"

                echo 
    "<tr>\n"
                    echo 
    "<td colspan='2'>\n"
                    echo 
    "<h4><br>Avatar hochladen</h4></td>\n"
                echo 
    "</tr>\n"
                echo 
    "<tr>\n"
                    echo 
    "<td class='lenght1'>Avatar: &nbsp;&nbsp;</td>\n"
                    echo 
    "<td class='lenght1'>\n"

                        if(
    $row['Avatar'] == '') { 

                            echo 
    "No Avatar"

                        } 

                        else { 

                            echo 
    "<img src='avatare/' \" " htmlentities($row['Avatar'], ENT_QUOTES) . " \">\n"
                             
                        } 

                                if (
    $row['Avatar'] == '') { 

                                    echo 
    "<input class='round_input' type='hidden' name='MAX_FILE_SIZE' value=\" " . (0.02*1024*1024) . " \">\n"
                                    echo 
    "<input class='round_input' name='pic' type='file'>\n"
                                    echo 
    "<input class='round_input1' type='submit' name='submit' value='Avatar hochladen'>\n"

                                } 

                                else { 

                                    echo 
    "<input class='round_input1' type='submit' name='submit' value='Avatar löschen'>\n"

                                } 

                            echo 
    "</td>\n"

                     echo 
    "</tr>\n"

                     echo 
    "</table>\n"

                     echo 
    "</form>\n"

                        } 

    ?>
    Und hier die passende Fehlermeldung... Komme einfach nicht drauf und habe schon fast alles versucht... Oder ich bin einfach nur zu dusselig...

    [COLOR=#FCE94F]( ! )[/COLOR] Notice: Undefined index: Avatar in C:\xampp\htdocs\Mike Schnabl\PHP_AK_Projektarbeit\login\avatar.php on line 146 Call Stack #TimeMemoryFunctionLocation 10.0004324448{main}( )..\avatar.php:0 No Avatar
    [COLOR=#FCE94F]( ! )[/COLOR] Notice: Undefined index: Avatar in C:\xampp\htdocs\Mike Schnabl\PHP_AK_Projektarbeit\login\avatar.php on line 158 Call Stack #TimeMemoryFunctionLocation 10.0004324448{main}( )..\avatar.php:0

    Vielen Dank im voraus.....

  • #2
    Suche die Zeile mit echo "No Avatar"; … kurz darüber und kurz darunter greifst du auf $row['Avatar'] zu, was aber gar nicht existiert … daher die Fehlermeldungen.
    Der Eintrag $row['Avatar'] existiert nur wenn gelöscht werden soll.

    Wenn man ordentlich einrückt, findet man solche Fehler auch selbst!

    Kommentar


    • #3
      Crossposting: Undefined Index: - Wer kann helfen - php.de

      *trash*
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar

      Lädt...
      X