Bilder Upload Script Version: 1.02 ( Undefined index )

Support Forum für Php-Space.info
Gesperrt
netcrew
Beiträge: 2
Registriert: 17.09.2007 23:16

Bilder Upload Script Version: 1.02 ( Undefined index )

Beitrag 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
admin
Site Admin
Beiträge: 336
Registriert: 09.03.2005 10:41
Wohnort: Arnstadt
Kontaktdaten:

Beitrag 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
haraldisback
Beiträge: 1
Registriert: 27.03.2008 19:03

Beitrag 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
admin
Site Admin
Beiträge: 336
Registriert: 09.03.2005 10:41
Wohnort: Arnstadt
Kontaktdaten:

Beitrag 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
Gesperrt