Seite 1 von 1

Bilder Upload Script Version: 1.02 ( Undefined index )

Verfasst: 17.09.2007 23:36
von netcrew
Hallo ich hab ein kleines Problem mit deinem netten Script.
Ich vermute schwer das dieser Fehler an mir liegt.

Leider reichen meine PHPKenntnisse bisher nicht für eine Loesung aus, in dem Forum hab ich schon gesucht, leider konnte ich auch dort keine Loesung finden, es geht um das folgende Problem.

Ich hab die Dateien laut "anleitung_1.02.txt" auf meinen Server geladen.
Natuerlich auch die chmod und chown Rechte zugewiesen.
Der rootpath der Scripts ist /var/www/privat/bilder/
der imgpath sollte sein /var/www/privat/bilder/img/
Im Script hab ich dieses natuerlich auch eingestellt wie folgt:

Code: Alles auswählen

        error_reporting(E_ALL);
        include_once('functions.php');
        // -----------------------------------------
        // Verzeichnis zum Speicher Ordner nach http://www.ihre-domain.de/
        // Beispiel $path = '/bilder-upload-script/img/';
        $path = 'img/';

        // Absuluter Pfad zum Speicher Ordner
        // Beispiel $img_path_up = '/home/www/web3/html/php-space/bilder-upload-script/img/';
        $img_path_up = 'img/';

        // Maximal Datei Gr..e in KB (KiloByte)
        $groessemax = 100000;

         // Soviele Dateien pro Seite anzeigen
        $length = 10;
Auch diese Variante funktioniert nicht:

Code: Alles auswählen

        error_reporting(E_ALL);
        include_once('functions.php');
        // -----------------------------------------
        // Verzeichnis zum Speicher Ordner nach http://www.ihre-domain.de/
        // Beispiel $path = '/bilder-upload-script/img/';
        $path = '/img/';

        // Absuluter Pfad zum Speicher Ordner
        // Beispiel $img_path_up = '/home/www/web3/html/php-space/bilder-upload-script/img/';
        $img_path_up = '/img/';

        // Maximal Datei Gr..e in KB (KiloByte)
        $groessemax = 100000;

         // Soviele Dateien pro Seite anzeigen
        $length = 10;
Oder diese hier:

Code: Alles auswählen

        error_reporting(E_ALL);
        include_once('functions.php');
        // -----------------------------------------
        // Verzeichnis zum Speicher Ordner nach http://www.ihre-domain.de/
        // Beispiel $path = '/bilder-upload-script/img/';
        $path = '/var/www/privat/';

        // Absuluter Pfad zum Speicher Ordner
        // Beispiel $img_path_up = '/home/www/web3/html/php-space/bilder-upload-script/img/';
        $img_path_up = 'img/';

        // Maximal Datei Gr..e in KB (KiloByte)
        $groessemax = 100000;

         // Soviele Dateien pro Seite anzeigen
        $length = 10;
        // -----------------------------------------
        // Ab hier nichts mehr anpassen
        if (!isset($_GET["loechen"]))   $_GET["loechen"] = "";
        if (!isset($_GET["file"]))              $_GET["file"] = "";
Laut PHP Notice liegt der fehler hier:
if($_POST["action"]){ //Was muss ich tun?

Code: Alles auswählen

<?
if($_POST["action"]){
        $filename = "";
        if ($_FILES['userfile']['tmp_name']<> 'none'){
                $file = $_FILES['userfile']['name'];
                $temp = $_FILES['userfile']['tmp_name'];
                $path_parts = pathinfo($file);
                $filename = "datei_" . time() . "." . $path_parts["extension"];
                if($_FILES['userfile']['size'] <= $groessemax*1024){
                        if(decoct(fileperms($img_path_up))==40777){
                                if(@copy($temp, $img_path_up.$filename)){
                                        echo '<div style="color:green;">Datei ist auf den Server!<br>';
                                        echo 'Url der Datei: <a href="http://'.$_SERVER['HTTP_HOST'].$path.$filename.'" target="_blank">http://'.$_SERVER['HTTP_HOST'].$path.$filename.'</a><br><br><a href="'.$
                                } else {
                                        echo '<div style="color:red;">Die Datei konnte nicht auf den Server geladen werden. <a href="'.$_SERVER['PHP_SELF'].'">Noch mal versuchen...</a><br><br></div>';
                                }
                        } else {
                                echo '<div style="color:red;">Der Upload Ordner hat keine Schreibrechte! <a href="'.$_SERVER['PHP_SELF'].'">Noch mal versuchen...</a><br><br></div>';
                        }
                } else {
                        echo '<div style="color:red;">Die Datei ist zu gro.! Die Datei darf nicht gr..er als '.$groessemax.' KB (KiloByte) sein. <a href="'.$_SERVER['PHP_SELF'].'">Noch mal versuchen...</a><br
                }
        }
} else {
?>
Ich dachte schon es liegt an

Code: Alles auswählen

if(decoct(fileperms($img_path_up))==40777){
Aber meine Datei Upload.php und das Verzeichnis img sind chmod 777
auch der Untergeordnete "bilder"Ordner ist chmod777

drwxrwxrwx 3 www-data www-data 4.0K Sep 18 00:27 bilder

-rw-rw-rw- 1 www-data www-data 2.1K Sep 18 00:12 functions.php
drwxrwxrwx 2 www-data www-data 4.0K Sep 18 00:12 img
-rw-rw-rw- 1 www-data www-data 15 Sep 18 00:12 php_info.php
-rwxrwxrwx 1 www-data www-data 6.0K Sep 18 00:27 upload.php

Und das hier steht in der Fehlermeldung drinn:
Notice: Undefined index: action in /var/www/privat/bilder/upload.php on line 65

Waehre super nett wenn mir einen weiter helfen koennte, bin ueber jeden Post dankbar ;)

register_globals Off Off
safe_mode Off Off
max_execution_time 60 60

Verfasst: 23.09.2007 21:01
von admin
Hallo,

kann das sein das Du was am Upload-Formular geändert hast, die meldung sagt das das Formular nicht abgesendet wurde, baue mal vor

Code: Alles auswählen

if($_POST["action"]){ 

Code: Alles auswählen

if(!isse($_POST["action"])) $_POST["action"]='';
ein, dann ist die Fehlermeldung weg, bloß es wir nicht gehen da $_POST["action"] kein Wert zugewissen bekommen hat beim absenden.

mfg. Nico

Verfasst: 27.03.2008 19:14
von haraldisback
admin hat geschrieben:

Code: Alles auswählen

if(!isset($_POST["action"])) $_POST["action"]='';
hast du da bei isset ein "t" vergessen ;) jetzt ist bei mir auch der Fehler weg *juhu* und es geht. danke

Verfasst: 28.03.2008 09:35
von admin
haraldisback hat geschrieben:
admin hat geschrieben:

Code: Alles auswählen

if(!isset($_POST["action"])) $_POST["action"]='';
hast du da bei isset ein "t" vergessen ;) jetzt ist bei mir auch der Fehler weg *juhu* und es geht. danke
Hallo,

Danke für den Hinweis. Hatte mich dabei verschrieben.

Gruß Nico