Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP Upload funktioniert nicht

Einklappen

Neue Werbung 2019

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

  • PHP Upload funktioniert nicht

    Guten Tag,

    habe mir mit etwas google Suche ein PHP Upload Script zusammengebastelt, welches vorher durch eine Nutzerabfrage durch eine MYSQL Datenbank gekoppelt ist. Der Login etc. funktioniert tadellos. Leider funktioniert der Upload aber nicht. Es wird weder eine Fehlermeldung angezeigt, noch wird eine Datei hochgeladen.

    Das ganze kann mit Login: admin, Passwort: admin unter http://www.bk-eng.de gerne getestet werden. Die upload.php enthält folgenden Code:

    PHP-Code:
    <?php
    include ("checkuser.php");
    //>>>>>>>>>>>>>>>>>>>> KONFIGURATION <<<<<<<<<<<<<<<<<<<<<<<<
    //Maximale Dateigröße
    $max_filesize 400000000//4000 KB = 4MB)

    //Maximale Verzeichnislänge
    $max_dirlen 50//50 Zeichen

    //Arbeitsverzeichnis (Wird beim ersten Aufrufen der Datei erstellt)
    $workingdir "upload";

    //Eigener Dateiname
    $filename "upload.php";

    /*Dateitypen
    Einfach die Dateiendung, Doppelpunkt und den PHP Dateityp eintragen.
    Will man den PHP Dateitypen herausfinden, einfach mal eine Datei hochladen, dann wird
    dieser angezeigt, auch wenn der Dateityp nicht zulässig war. Die Liste kann beliebig fortgeführt werden*/
    $filetypes=array("*.html:text/html","*.jpg:image/jpeg","*.jpeg:image/pjpe","*.mp3:audio/mpeg","*.gif:image/gif","*.pdf:text/pdf");
    //>>>>>>>>>>>>>>>>>>> KONFIGURATION ENDE <<<<<<<<<<<<<<<<<<<<<<<<

    if (!file_exists($workingdir)) //Wenn das Arbeitsverzeichnis nicht da ist, dann anlegen.
    {
       
    mkdir($workingdir,0755);
    }
    ?>
    <HTML>
    <HEAD>
    <TITLE>Becker & Klaffka Fileserver</TITLE>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
    <SCRIPT language=JavaScript>
    <!--
    function sicher(){
     //Diese Funktion ist für die Formulare, aber eigentlich überflüssig.
     var antwort;
     antwort=confirm("Bist Du sicher, dass Du alle Felder wieder löschen willst?");
     if (antwort==true){
        return antwort;
      }
      else{
      return antwort;
      }
      }
    //-->
    </script>
    <style>
    <!--
    body {
       SCROLLBAR-FACE-COLOR: #666666; SCROLLBAR-HIGHLIGHT-COLOR: #333333; SCROLLBAR-SHADOW-COLOR: #333333; SCROLLBAR-3DLIGHT-COLOR: #344556; SCROLLBAR-ARROW-COLOR: #fefefe; SCROLLBAR-TRACK-COLOR: #000011; SCROLLBAR-DARKSHADOW-COLOR: #333333;
      BACKGROUND-COLOR: #EEEEEE;
    }

    input, textarea, select {
       border: 1px solid #333333;
       background: #FFFFFF;
       font: 11px Tahoma, Arial, Helvetica, sans-serif;
       color: #333333;
    }
    td {
       font: 14px Tahoma, Arial, Helvetica, sans-serif;
       color: #000000;
    }
    A:link {
       COLOR: #666666; TEXT-DECORATION: none
    }
    A:visited {
       COLOR: #666666; TEXT-DECORATION: none
    }
    A:active {
       COLOR: #ff9933; TEXT-DECORATION: none
    }
    A:hover {
       COLOR: white; BACKGROUND-COLOR: #000000; TEXT-DECORATION: none
    }
    //-->
    </style>
    </HEAD>
    <BODY>
    <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 width="800" align="center" bordercolor="#333333">
       <TR>
              <td colspan="2">
                <div align="center"><font size="6">Datei Upload</font</div><br><br>
              </td>
        <tr>
        <td valign="top" align="left" width="380" style="border-right:1px #000000 dashed;border-top:1px #000000 dashed;
        border-bottom:1px #000000 dashed;">
        <br>
    <?php
    // Dateiupload
    //----------------------------------------------------------------------------------------------------------------------
    if ($flag==1//Wenn das Formular abgeschickt wurde.
    {
        
    //Datei checken
        //--------------------------------------------------------
        //Checken ob überhaupt eine Datei ausgewählt wurde
        
    $i=1;
        if(!
    $datei)
        {
            
    $fehler.="Keine Datei gewählt!<br>";
        }
        else
        {
               
    //Und die Größe der Datei
              
    if($datei_size $max_filesize)
              {
                
    $sizer $datei_size;
                
    $sizer $sizer 1000;
                
    $sizer number_format($sizer,2,",",".");
                
    $fehler.="Datei ist zu groß! $sizer KB<br>";
              }
              else
              {
                  
    $i=0;
                  
    $loop $filetypes;
                  while(list(
    $k,$v)=each($loop))  // Alle Dateitypen checken
                  
    {
                     
    $check=explode(":",$v); // Dateinamen checken (Bei ":" erfolgt Trennung)
                     
    if ($datei_type == $check[1] && $datei)
                     {
                          
    $i $i+1;
                     }
                  }
                }
        }
        if (
    $i==0) {$fehler.="Falscher Dateityp! " .$datei_type"<br>";}
        
    //Das Ganze in die Variable $fehler
        //--------------------------------------------------------
        
    if($fehler//Bei Fehlern, Meldung ausgeben
        
    {
            
    $meldung="<h3><font color='#880000'>" .$fehler"</font></h3>"//Die Fehlermeldung etwas verschönern  ;-)
            
    unset($flag); //Variable $flag wieder zurück setzten
            
    echo $meldung//Fehlermeldung ausgeben
        
    }
        else
        {
          
    //Keine Fehler? Dann Datei hochladen
          //--------------------------------------------------------------------
          
    $writeurl "";
          if (
    $uvz2 != "")
          {
              
    $writeurl "/".$uvz2;
          }
           
    $uvz "$workingdir$writeurl"//Verzeichnisname workingdir wird am Anfang deklariert.
           //Die Verzeichnisnamen kommen aus dem Formular weiter unten
           
    if (!file_exists($uvz)) //Wenn nicht vorhanden, dann anlegen
           
    {
               
    mkdir($uvz,0755); //mit den entsprechenden Rechten versehen
           
    }
           
    $name=$uvz."/".$datei_name;

           
    copy($datei$name); //Kopieren der Datei auf den Server
           //Anzeigen der Dateigröße
           
    $sizer $datei_size;
           
    $ending "Byte";
           if (
    $sizer 1000)
           {
               
    //Berechnung der Dateigröße in KB
            
    $sizer $sizer 1000;
               
    $sizer number_format($sizer,2,",",".");
               
    $ending "KB";
           }
        
    // Ausgabe der Informationen
           
    echo "<font size='3'>Information:</font><br>";
           echo 
    "Dateityp: $datei_type <br>";
           echo 
    "Gr&ouml;&szlig;e: $sizer $ending<br>";
           echo 
    "Dateiname: $datei_name<br>";
           echo 
    "<font color='#FF0000'>Datei wurde erfolgreich hochgeladen!</font><br>";
           echo 
    "<br><a href='$_SERVER[PHP_SELF]?$_SERVER[QUERY_STRING]'> <<< Zurück</a> (Nach 10 Sekunden automatisch.)<br><br>";
           echo 
    "<script language='JavaScript'>
             var gWindowCloseWait = 10;
             function zurueck()
             {
                window.location = (\"
    $_SERVER[PHP_SELF]?$_SERVER[QUERY_STRING]\");
             }
             window.setTimeout(\"zurueck()\", gWindowCloseWait*1000);
             </script>"
    ;
        }
        
    //--------------------------------------------------------------------
    }
    //----------------------------------------------------------------------------------------------------------------------

    // Verzeichnis anlegen
    //----------------------------------------------------------------------------------------------------------------------
    if ($flag2==1)
        {
       
    //Erst mal ein paar Prüfungen
       
    if(!$verzname)
       {
          
    $fehler.="Kein Verzeichnis eingegeben!<br>"//Wurde ein Verzeichnis eingegeben?
       
    }
       else
       {
          if(!
    eregi("^[a-zA-Z0-9]+$",$verzname))
          {
             
    $fehler.="Ungültige Zeichen im Verzeichnisnamen<br>
             (Nur a-z und 0-9 erlaubt)<br>"
    //Zeichen des anzulegenden Verzeichnisses prüfen
          
    }
          else
          {
                  if (
    strlen($verzname) > $max_dirlen)
                  {
                          
    $fehler.="Verzeichnisname ist zu lang<br>(Max. $max_dirlen Zeichen)";
                  }
          }
       }
       
    /*Doppelte Verzeichnisnamen checken. Fals nicht gewünscht, einfach diesen Bereich auskommentieren.
       Bitte nur bei Unixsystemen, denn Windows erlaubt Doppelte Verzeichnisnamen nicht
       und dann erscheinen unschöne Fehlermeldungen :-(

       >>>>>>>>>>>>>>>>>>>>> Doppelte Verzeichnisnamen Anfang <<<<<<<<<<<<<<<<<<<<<<<<< */
       
    $writeurl "";
            if (
    $uvz2)
            {
                
    $writeurl "/".$uvz2;
            }
       
    $dir "$workingdir$writeurl"//Zusammensetzen des richtigen Pfades
       
    $dir strtolower($dir);
       
    $verzname strtolower($verzname);
       
    $dh=opendir($dir);
       if (
    $dh)
       {
          
    $i=1;
          while (
    $filename=readdir($dh)) //Loopen durch die bereits angelegten Verzeichnisse
          
    {
             if (
    is_dir($dir."/".$filename) && $filename != "." && $filename != "..")
             
    //Die Punkte ausschliessen falls Unixsystem
                  
    {
                     if (
    $verzname == $filename) {$fehler.="Verzeichnis ist schon vorhanden!<br>";}
                     
    //Doppelte Verzeichnisnamen ausschliessen, da es sonst zu Fehlermeldungen auf
                     //Windows-Webservern kommt
                  
    }
          }
       }
          
    closedir($dh);
          
    //>>>>>>>>>>>>>>>>>>>>> Doppelte Verzeichnisnamen Ende <<<<<<<<<<<<<<<<<<<<<<<<<

          
    if($fehler)
          {
              
    $meldung="<h3><font color='#880000'>" .$fehler"</font></h3>"//Fehlermeldung verschönern ;-)
                  
    unset($flag2); //Variable $flag2 wieder zurück setzten
                  
    echo $meldung//Fehlermeldug ausgeben
          
    }
          else 
    //Wenn es keine Fehler gab
          
    {
                 
    mkdir("$workingdir/".$verzname); //Dann kann das Verzeichnis angelegt werden
                   
    echo "<font size='4'>Verzeichnis '$verzname' wurde erstellt!</font>";
          }

        }
    //----------------------------------------------------------------------------------------------------------------------


    // Hier beginnt die eigentliche Seite
    //----------------------------------------------------------------------------------------------------------------------

    if(!$flag//Die Variablen $flag und $flag2 bekommen erst mit dem Abschicken des einen oder des anderen Formulares einen Wert.
            //Wird das Formular für den Dateiupload abgeschickt ist es $flag bei den Verzeichnissen ist es $flag2.. wer hätte das gedacht.
    {
            
    //Nun kommt HTML mit einem ganz kleinen Teil PHP
         
    ?>
       <form action='<? echo $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']; ?>' method='post' enctype='multipart/form-data' name='form1' id="form1" onReset="return sicher()">
            <!-- Die Formaction besteht aus der aktuellen Datei und einer Variable hinter dem "?" Hier wird ein mögliches Unterverzeichnis
           angegeben in dem wir uns vielleicht gerade befinden. Denn dort soll die Datei ja auch rein.  //-->
         <input type="hidden" name="flag" id="flag" value=1><!-- Hier kommt das versteckte Feld. Es bekommt den Wert 1 und wird in PHP
                                      dann als variable gesehen //-->
            <table border="1" width="340" cellpadding="1" cellspacing="1" bordercolor="#ffffff" style="border-collapse: collapse">
            <tr>
            <td colspan="2"><b>Datei wählen und hochladen</b><br>
            <font size="1">Mögliche Dateitypen:<br>
            <?php
             
    while(list($k,$v)=each($filetypes))  // Alle Dateitypen checken
             
    {
                     
    $check=explode(":",$v);
                     echo 
    $check[0]. " ";
             }
             echo 
    "<br>";
             
    ?>
            Maximal <?php echo $max_filesize/1000?> KB pro Datei.</font></td>
            </tr>
            <tr>
              <td width="54">Datei:</td>
              <td>
                        <input name="datei" type="file" id="datei" size="30" value='<?php echo $datei?>'>
                      </td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td><input type="submit" name="Submit" value="Hochladen"> <input type="reset" name="Reset" value="Zurücksetzen">
              </td>
            </tr>
        </table>
          </form>
          <?php
          
    //Nun das formular für die Verzeichnisse. Das erscheint nur, wenn man in dem Hauptverzeichnis ist...
          //Sonst könnte man ja unendlich viele Verzeichnisse anlegen.
          
    if ($uvz2 == "")
          {
          
    ?>
          <form action='<? echo $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']; ?>' method='post' enctype='multipart/form-data' name='form2' id="form2" onReset="return sicher()">
              <input type="hidden" name="flag2" id="flag2" value=1>
            <table border="1" cellpadding="1" width="340" cellspacing="1" bordercolor="#ffffff" style="border-collapse: collapse">
            <tr>
            <td colspan="2"><b>Verzeichnis anlegen</b></td>
            </tr>
            <tr>
              <td width="54">Name:</td>
              <td>
                        <input name="verzname" type="text" id="verzname" size="30" value="">
                      </td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td><input type="submit" name="Submit" value="Anlegen"> <input type="reset" name="Reset" value="Zurücksetzen">
              </td>
            </tr>
            </table>
          </form>
          <?php
          
    }
          }
          
    //Nun erst mal eine JavaScript Funktion welche noch zum Löschen benötigt wird.
          
    echo " <script language='JavaScript'>
          function del(url, datei) {
             if( confirm(\"Soll die Datei '\" + datei + \"' wirklich gelöscht werden?\") ) window.location = url;
          }
          </script>"
    ;
          
    $writeurl "";
          
    //Wo sind wir? Haupt oder Unterverzeichnis?
          
    if ($uvz2)
          {
              
    $writeurl "/".$uvz2;
              echo 
    "<a href='$PHP_SELF'><< Zurück zum Hauptverzeichnis</a><br>";
          }
          
    $uvz="$workingdir$writeurl"// workingdir wird am Anfang der Datei deklariert.
           
    if (!file_exists($uvz)) //Wenn nicht vorhanden, dann anlegen
           
    {
               
    mkdir($uvz,0755);
           }
          if (
    $loesch=="datei"//Wenn Datei gelöscht werden soll.... Weiter unten.
          
    {
              
    $name urldecode($name);
              
    $pfad $uvz."/".$name;
              @
    unlink($pfad); //Pfad zusammenbasteln ;-)
            
    if ($uvz2 != "")  //Waren wir in einem Unterverzeichnis?
            
    {
               echo 
    " <script language='JavaScript'>
                 window.location = ('
    $filename?uvz2=$uvz2') </script>";  //Dann wieder zurück in das Unterverzeichnis
            
    }
            else
            {
               echo 
    " <script language='JavaScript'>
                 window.location = ('
    $filename') </script>";   //Und wieder dahin zurück wo wir waren
            
    }
          }
          echo 
    "<font size='3'><b>Aktuelles Verzeichnis: <b><a href='$uvz' target='_blank'>/$uvz</a></font>
          </td>
          <td style='border-top:1px #000000 dashed;border-bottom:1px #000000 dashed;' valign='top'>
          <br>
          <p align='center'><b>Hochgeladene Dateien:</b><br><hr width='400' color='#000000'></p></font><ol>"
    ;
          
    //Anzeigen des Verzeichnisses und es folgt das Anzeigen der hochgeladenen Dateien
       
    $i 1;
          
    $verzeichnis opendir($uvz);

          while (
    $file readdir($verzeichnis)) //Verzeichnis auslesen
          
    {
              if (
    is_file($uvz."/".$file))
              {
                  echo 
    "<li><a href='$uvz/$file' target='_blank' onMouseOver=\"window.status='Dateiname: $file'; return true\" onMouseOut=\"window.status=''; return true\">$file</a> - - "//Datei(en) anzeigen
                  
    $file urlencode($file);
                  echo 
    " <a href=\"javascript:del('$PHP_SELF?loesch=datei&name=$file&uvz2=$uvz2','".urldecode($file)."')\" onMouseOver=\"window.status='Löschen: " .urldecode($file). "'; return true\" onMouseOut=\"window.status=''; return true\"> <font color='#880000'>L&ouml;schen</font></a><hr></li>";
            
    //Möglichkeit zum Löschen der Datei. Die JavaScriptfunktion del ist hierbei eine Abfrage ob wirklich gelöscht werden soll.
            //Klickt man ja, wird die URL übergeben mit der Variable $loesch=datei  Dieses wurde weiter oben ja bereits abgefragt.
                  
    $i++;
              }
          }
          if (
    $i == 1)
          {
              echo 
    "Keine Dateien vorhanden";
          }
          
    closedir($verzeichnis);
          echo 
    "</ol>";

    if (
    $uvz2 == "")
    {
    //Das Gleiche für die Verzeichnisse nochmal
    if ($loesch=="verzeichnis")
          {
              
    shell_exec(rmdir($name));
              echo 
    " <script language='JavaScript'>
              window.location = ('
    $filename') </script>";
          }
    echo 
    " <script language='JavaScript'>
          function del2(url, verzeichnis) {
             if( confirm(\"Soll Das Verzeichnis '\" + verzeichnis + \"' wirklich gelöscht werden?\") )   window.location = url;
          }
          </script>"
    ;
    echo 
    "<p align='center'><b>Angelegte Verzeichnisse:</b><br><hr width='400' color='#000000'></p><ol>";
      
    //Auslesen der Verzeichnisse
      
    $dirlist=array();
      
    $writeurl "";
          if (
    $uvz2)
          {
              
    $writeurl "/".$uvz2;
          }
      
    $dir "$workingdir$writeurl";
      
    $dh=opendir($dir);
      if (
    $dh)
      {
      
    $i=1;
       while (
    $filename=readdir($dh))
       {
         if (
    is_dir($dir."/".$filename) && $filename != "." && $filename != ".."//Die Punkte ausschliessen falls Unixsystem
         
    {
           echo 
    "<li><a href='$PHP_SELF?uvz2=$filename' onMouseOver=\"window.status='Verzeichnis: ../$dir/$filename'; return true\" onMouseOut=\"window.status=''; return true\">../".$dir."/".$filename."</a> - - ";
           echo 
    " <a href=\"javascript:del2('$PHP_SELF?loesch=verzeichnis&name=".$dir."/".$filename."','$filename')\" onMouseOver=\"window.status='Löschen ../$dir/$filename'; return true\" onMouseOut=\"window.status=''; return true\"> <font color='#880000'>L&ouml;schen (Nur wenn leer.)</font></a><hr></li>";
        
    //Ausgabe der Verzeichnisliste, wieder mit Möglichkeit zum Löschen.
           
    $i++;
         }
       }
       if (
    $i == 1)
          {
              echo 
    "Keine Verzeichnisse vorhanden";
          }
       
    closedir($dh);
      }
      else
      {
       
    //Fehlermeldung
       
    echo "Ein FEHLER ist aufgetreten und keiner weiß warum.... :-D";
      }
    echo 
    "</ol>";
    }
    //----------------------------------------------------------------------------------------------------------------------

    echo "</TD>
       </TR>
    </TABLE><br>
    <table border='0' align='center'>
    <tr><td valign='bottom' align='center'>
    <a href='logout.php'>Logout " 
    .$_SESSION["user_vorname"]. " " .$_SESSION["user_nachname"]. "</a><br>
    Your IP:" 
    .$_SERVER['REMOTE_ADDR']. "</td></tr>
    </table>"
    ;
      
    ?>
    </BODY>
    </HTML>
    Vielleicht weiß ja hier jemand Rat.

    Vielen Dank im Voraus!

    Gruß Alex

  • #2
    Hallo,

    setz mal
    PHP-Code:
    ini_set('display_errors',1);
    error_reporting(-1); 
    an den Anfang des Scripts.

    Du solltest auch ein bisschen Umstrukturieren, was deine Datenverarbeitung mit PHP und deine Anzeige mit HTML betrifft. Es ist sonst schrecklich zu debuggen.
    [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
    [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

    Kommentar


    • #3
      Du solltest auch ein bisschen Umstrukturieren, was deine Datenverarbeitung mit PHP und deine Anzeige mit HTML betrifft. Es ist sonst schrecklich zu debuggen.
      Siehe dazu EVA-Prinzip: http://php-de.github.io/jumpto/eva-prinzip/
      The string "()()" is not palindrom but the String "())(" is.

      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        PHP-Code:
        <input name="datei" type="file" id="datei" size="30" value='<?php echo $datei?>'>
        Nirgends im gezeigten Code wird dieses Inputfeld verarbeitet...

        Da bereits früh auf eine Variable $datei abgefragt wird, die nirgends vorher deklariert worden ist (vielleicht in "checkuser.php"?), könnte man auf "register_globals" tippen (ist aber wirklich nur ein Tipp ins Blaue hinein).
        Gleiches gilt übrigens auch für $flag (den Rest hab ich mir schon gar nicht mehr angeschaut)

        edit:
        Das ganze kann mit Login: admin, Passwort: admin unter http://www.bk-eng.de gerne getestet werden. Die upload.php enthält folgenden Code:
        Code:
        PHP Notice: Undefined variable: flag in C:\Inetpub\vhosts\bk-eng.de\bk-eng\upload.php on line 101 
        PHP Notice: Undefined variable: flag2 in C:\Inetpub\vhosts\bk-eng.de\bk-eng\upload.php on line 194 
        PHP Notice: Undefined variable: flag in C:\Inetpub\vhosts\bk-eng.de\bk-eng\upload.php on line 266 
        PHP Notice: Undefined variable: datei in C:\Inetpub\vhosts\bk-eng.de\bk-eng\upload.php on line 293 
        PHP Notice: Undefined variable: uvz2 in C:\Inetpub\vhosts\bk-eng.de\bk-eng\upload.php on line 306 
        PHP Notice: Undefined variable: uvz2 in C:\Inetpub\vhosts\bk-eng.de\bk-eng\upload.php on line 340 
        PHP Notice: Undefined variable: loesch in C:\Inetpub\vhosts\bk-eng.de\bk-eng\upload.php on line 349 
        PHP Notice: Undefined variable: uvz2 in C:\Inetpub\vhosts\bk-eng.de\bk-eng\upload.php on line 393 
        PHP Notice: Undefined variable: loesch in C:\Inetpub\vhosts\bk-eng.de\bk-eng\upload.php on line 396 
        PHP Notice: Undefined variable: uvz2 in C:\Inetpub\vhosts\bk-eng.de\bk-eng\upload.php on line 412
        Sag ich ja...
        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

        Kommentar


        • #5
          schon das nutzen von einer externen css-datei würde einiges helfen.
          Current Projects: http://www.welten-buch.de, http://neu.zooadoo.de

          Kommentar


          • #6
            Zitat von lstegelitz Beitrag anzeigen
            Nirgends im gezeigten Code wird dieses Inputfeld verarbeitet...

            Da bereits früh auf eine Variable $datei abgefragt wird, die nirgends vorher deklariert worden ist (vielleicht in "checkuser.php"?), könnte man auf "register_globals" tippen (ist aber wirklich nur ein Tipp ins Blaue hinein).
            Gleiches gilt übrigens auch für $flag (den Rest hab ich mir schon gar nicht mehr angeschaut)

            edit:


            Code:
            PHP Notice: Undefined variable: flag in C:\Inetpub\vhosts\bk-eng.de\bk-eng\upload.php on line 101 
            PHP Notice: Undefined variable: flag2 in C:\Inetpub\vhosts\bk-eng.de\bk-eng\upload.php on line 194 
            PHP Notice: Undefined variable: flag in C:\Inetpub\vhosts\bk-eng.de\bk-eng\upload.php on line 266 
            PHP Notice: Undefined variable: datei in C:\Inetpub\vhosts\bk-eng.de\bk-eng\upload.php on line 293 
            PHP Notice: Undefined variable: uvz2 in C:\Inetpub\vhosts\bk-eng.de\bk-eng\upload.php on line 306 
            PHP Notice: Undefined variable: uvz2 in C:\Inetpub\vhosts\bk-eng.de\bk-eng\upload.php on line 340 
            PHP Notice: Undefined variable: loesch in C:\Inetpub\vhosts\bk-eng.de\bk-eng\upload.php on line 349 
            PHP Notice: Undefined variable: uvz2 in C:\Inetpub\vhosts\bk-eng.de\bk-eng\upload.php on line 393 
            PHP Notice: Undefined variable: loesch in C:\Inetpub\vhosts\bk-eng.de\bk-eng\upload.php on line 396 
            PHP Notice: Undefined variable: uvz2 in C:\Inetpub\vhosts\bk-eng.de\bk-eng\upload.php on line 412
            Sag ich ja...
            Der Plan ist so dass die Variablen erst bei Abschicken des Formulars gefüllt werden.

            Kann ich dem irgendwie Abhilfe schaffen? Bzw. ist das so falsch dass die Variablen erst beim Abschicken gefüllt werden?

            Kommentar


            • #7
              Falsch ist das nicht, aber du musst es in deiner Programmierung auch berücksichtigen, das sie noch nicht vorhanden sind.

              Bevor du fröhlich auf x-beliebige Formularwerte zugreifst, musst du sicherstellen, das auch wirklich Werte übermittelt worden sind...
              Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

              Kommentar


              • #8
                Durch anklicken des "Hochladen" Buttons werden eigentlich alle Werte übermittelt. Ich verstehe jetzt nur nicht warum es nicht funktioniert. Wenn ich manuell eine Datei in das Verzeichnis über FTP hochlade, wird diese dann auch angezeigt. Ich kann ja genau so gut alle Variablen mit $%variable% = ""; deklarieren, dann kommen keine "Notice" mehr. Es bekommt mit anklicken von Hochladen eigentlich jede Variable einen Wert, also müsste das Script dann fehlerfrei laufen... Die bei "Notice" bemängelten Variablen brauchen ja am Anfang noch keinen Wert, da Sie erst benutzt werden wenn Sie durch das Formular einen Wert erhalten haben.

                Ich glaube ich steh irgendwie auf dem Schlauch.

                Hat vielleicht jemand einen Tip für mich, wie ich die Sache irgendwie sauber gelöst bekomme?

                Anforderung an das Script:
                Upload von Dateien
                Übersicht aller Dateien im Ordner
                Anlegen von Verzeichnissen

                und das ganze eben mit einer Login Abfrage (welche ja aktuell ohne probleme funktioniert)

                Danke und Gruß

                Alex

                Kommentar

                Lädt...
                X