Avatar billede walfi Nybegynder
08. august 2010 - 23:12 Der er 12 kommentarer og
1 løsning

Returnerer blank side uden at fortælle fejlen

Hej.

Jeg har siddet og kæmpet med dette script hele dagen, som jeg har lavet. Det har virket helt fint på en anden server, men da jeg har skrevet det om til min nye side, returnerer den bare blank.

Jeg kan ikke se hvad fejlen er, og for mig virker der umiddelbart intet galt. Håber i kan hjælpe og finde fejlen.

<?php include("dbcon.php"); ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Virk</title>
</head>
<body>
<?php
if(isset($_GET["hvor"])){
        $dir = "billedmodul/jupload/uploaded/files/";
        $resultat = mysql_query("select * from billede order by id ASC");
        while($r = mysql_fetch_array("$resultat")) {
            $id = $r[id];
        }
        if (isset(is_dir($dir))) {
            if ($dh = opendir($dir)) {
                while (($file = readdir($dh)) != "") {
                    $extension = array_pop(explode(".", $file));
                    $filename = basename($file, ".$extension");
                    if($extension == "jpg"){

                        $filedir = "billeder";

                        if($id == ""){
                            $id = "1";
                        }
                        else {
                            $id = $id+1;
                        }
                        $maxfile = "50000000000000000000";

                        $nof = "1";

                        for ($i = 0; $i < $nof; $i++)
                        {
                            $userfile_name = "$id";
                            $userfile_tmp = "$dir$file";
                            $userfile_size = $_FILES['fileupload']['size'][$i];
                            $userfile_type = $_FILES['fileupload']['type'][$i];
                       
                            if ($userfile_name == "") {
                                echo "Ingen fil valgt til upload<br>";
                            }
                            if ($userfile_name != "") {

                                $h = $i + 1;

                                $location = "$filedir/$id.jpg";
                                if(file_exists($location)){
                                    unlink($location);
                                    echo "";
                                }

                                copy($userfile_tmp, $location) or die("Fejl imens filen blev flyttet til: " . $location);
                                unlink($userfile_tmp);
                                mysql_query("insert into billede SET id = '$id', hvor = '$_GET[hvor]', rank = '999999'") or die(mysql_error());
                            }
                        }
                    }
                }
                echo "Billeder uploadet";
                closedir($dh);
            }
        }
        else {
            echo "Kan ikke åbne mappen";
        }
}
?>
</body>
</html>
Avatar billede erikjacobsen Ekspert
08. august 2010 - 23:25 #1
Du kan vel indstille din webserver - webhotel - eller hvad det er, til at vise fejlene. En blank side plejer at betyde at man har slået fejlvisning fra (sikkerhedsmæssigt en go' ting, men selvfølgelig ikke for udvikling).

Hvor kører du det?
Avatar billede walfi Nybegynder
08. august 2010 - 23:32 #2
det er en one.com server.

Men min include fil indeholder:
ini_set('display_errors','1');

Så den burde vise fejlen, og det gør den også normalt?
Avatar billede erikjacobsen Ekspert
08. august 2010 - 23:36 #3
Jeg har af gode grunde intet personligt kendskab til one.com, men jeg hørt nogen snakke om et kontrolpanel, hvor man kan indstille den til at vise fejlene. Prøv det.
Avatar billede walfi Nybegynder
08. august 2010 - 23:48 #4
Men jeg har

PHP error messages: On

Problemet er at hvis jeg laver en helt åbenlys fejl, siger den stadig intet. Så ved ikke om der er nogen der kan gennemskue fejlen?
Avatar billede erikjacobsen Ekspert
08. august 2010 - 23:51 #5
Og "vis kilde" er også blank?  Det er jeg så også, blank, når det gælder one.com. Men der er sikkert andre.
Avatar billede walfi Nybegynder
08. august 2010 - 23:54 #6
Ja det er vis kilde også
Avatar billede walfi Nybegynder
09. august 2010 - 00:24 #7
Fatal error: Can't use function return value in write context in *** on line 17.

Linje 17:
if (isset(is_dir($dir))) {

Hvad er fejlen?
Avatar billede The_Buzz Novice
09. august 2010 - 07:16 #8
$dir = "billedmodul/jupload/uploaded/files/";
er ikke et dir eller er ikke chmod tl world writeable?
Avatar billede showsource Seniormester
09. august 2010 - 08:18 #9
if (isset($_GET["dir"]) && is_dir($_GET["dir"])) {

er mit bud.

Og husk for alt i verden at lave tjek på stien til dir !!!!!
Avatar billede Slettet bruger
09. august 2010 - 09:47 #10
$resultat = mysql_query("select * from billede order by id ASC");
while($r = mysql_fetch_array("$resultat"))
    {
    $id = $r[id];
    }
Virker meningsløst... ?
- Ligesom:
$nof = "1";
for ($i = 0; $i < $nof; $i++)
    {
    ...

Det ligner et script der har været brugt til noget andet.
- på tide at skrive det helt om ?
Avatar billede erikjacobsen Ekspert
09. august 2010 - 09:57 #11
Den første kodestump er ikke meningsløs. Den finder det største ID - men den er håbløst ineffektiv ,,,

Men betyder det for spørgeren, at der er hul igennem til fejlmeddelelser nu?
Avatar billede walfi Nybegynder
29. august 2010 - 19:54 #12
showsource læg et svar, det var det der var problemet :D
Avatar billede showsource Seniormester
29. august 2010 - 19:58 #13
Ok
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