Avatar billede ullidk Nybegynder
04. februar 2005 - 18:38 Der er 1 kommentar og
1 løsning

Problemer med variabel/index

Hejsa,

Har flg. del af et script der bruges til at uploade billeder til en mappe:

Filer der skal uploades:<p>

<?php



for ($j=0;$j<$number_of_uploads;$j++) {

?>

<input type=file name=img[]>

<?

}

?>

<br>

<input type="hidden" name="submitted" value="true">

<input type="submit" name="submit" value="Upload">

</form>

og flg. til at behandle dette:

if ($_REQUEST['submitted']){ // Begin processing portion of script

$log = "";

for ($i=0; $i<$number_of_uploads; $i++) {

$j=$i + 1;

    //checks if file exists

    if ($img_name[$i] == "") {

        $log .= "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ingen fil valgt til upload $j<br>";

    }



    if ($img_name[$i] != "") {

        //checks if file exists

        if (file_exists("$abpath/$select/$img_name[$i]")) {

            $log .= "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fil nr. $j eksisterer allerede i den angivne mappe<br>";

        } else {



            //checks if files to big

            if (($sizelim == "yes") && ($img_size[$i] > $size)) {

                $log .= "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fil nr. $j er for stor - grænsen er $size<br>";

            } else {





                //Checks if file is an image

                if( (substr($img_name[$i],-3)=="gif") || (substr($img_name[$i],-3)=="jpg")  || (substr($img_name[$i],-3)=="JPG") || (substr($img_name[$i],-3)=="txt") || (substr($img_name[$i],-3)=="TXT") || (substr($img_name[$i],-3)=="GIF") ) {

                    @copy($img[$i], "$abpath/$select/$img_name[$i]") or $log .= "Kunne ikke kopiere billed 1 til serveren<br>";

                    if (file_exists("$abpath/$select/$img_name[$i]")) {

                        $log .= "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fil nr. $j was uploaded<br>";

                    }

                    } else {

                        $log .= "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fil nr. $j er ikke en billed- eller tekstfil<br>";

                    }

                }

            }

        }





    }


Men hver gang jeg prøver at uploade, får jeg flg. fejl:

Notice: Undefined index: submitted2 in D:\xxx\resadmin\xxx\xxx\www\xxx\images\upload.php on line 50

Notice: Undefined variable: img_name in D:\xxx\resadmin\xxx\xxx\www\xxx\images\upload.php on line 82

Notice: Undefined variable: img_name in D:\xxx\resadmin\xxx\xxx\www\xxx\images\upload.php on line 90


Og det skal vel og mærket lige bemærkes at dette script p.t. kører på en NT server, men virker upåklageligt under Linux. Så det er ikke pga. stavefejl etc:-)
Avatar billede detox Nybegynder
04. februar 2005 - 18:58 #1
Du skal rette:

if ($_REQUEST['submitted']){ // Begin processing portion of script

til:

if (isset($_REQUEST['submitted'])){ // Begin processing portion of script

og det samme med de to 'img_name'. Sagen er at php på NT serveren er sat op til at vise alle fejl, hvorimod den på linux versionen er sat lidt mildere.
Alternativt kan du indsætte øverst på siden:

<?php
error_reporting(E_ALL ^ E_NOTICE);
?>
Avatar billede ullidk Nybegynder
14. februar 2005 - 09:54 #2
Har ændret til ASP i stedet:-) Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester