Avatar billede sorensen_123 Nybegynder
27. juni 2007 - 14:18 Der er 8 kommentarer og
1 løsning

Problem med kode, får blank side.

Hejsa,

Jeg har en uploadkode, hvor jeg.. ja.. uploader billeder.

Hver af mine brugere på have 100 offentlige og 50 private billeder, og det vil jeg selvfølgelig gerne tjekke når de uploader.

Problemet er bare, at når jeg vil uploade et offentligt billede, får jeg bare en blank side. Nogen der kan hjælpe?

<?
if(!$_SESSION[brugernavn] OR !$_SESSION[kodeord]){
    echo "<center><b>Du skal være logget ind for at kunne uploade billeder!</b></center>";
    include("loginform.php");   
}elseif($_SESSION[brugernavn] AND $_SESSION[kodeord]){   
$brugerid = $_SESSION[brugerid];
$titel = $_POST[uploadbilledetitel];
$galleri = $_POST[uploadbilledegalleri];
$dato = $_POST[uploadbillededato];
$beskrivelse = $_POST[uploadbilledebeskrivelse];
$uploadtype = $_FILES['uploadbilledefil']['type'];
$billedenavn = $_SESSION['brugernavn'] . time();
$billedenavn = md5($billedenavn);
$filendelse = strtolower(end(explode(".", $_FILES['uploadbilledefil']['name'])));
$filendelse = strtolower($filendelse);
$billedesti = $billedenavn . "." . $filendelse;
$stoerrelse = $_FILES['uploadbilledefil']['size'];

if($stoerrelse >= 1536000){
    echo "<center><b>Billedet du uploadede var for stort.</b></center><br>";
    include("uploadbillede.php");
}elseif(!$titel){
    echo "<center><b>Du skal give billedet en titel.</b></center><br>";
    include("uploadbillede.php");
}elseif(!$dato){
    echo "<center><b>Du skal give billedet en dato.</b></center><br>";
    include("uploadbillede.php");
}elseif(!$beskrivelse){
    echo "<center><b>Du skal skrive en beskrivelse til billedet.</b></center><br>";
    include("uploadbillede.php");
}

if($galleri == "0"){
    $countBilleder = mysql_query("SELECT * FROM gallerier WHERE brugerid = '$brugerid' AND galleri = '0' AND type = '0'");
    $countBilleder = mysql_num_rows($countBilleder);
    if($countBilleder == "100"){
        echo "<center><b>Du kan ikke uploade flere billeder, da du allerede har uploadet 100. Slet nogle billeder, og prøv igen.</b></center>";
    }
}

if($galleri == "1"){
    $countBilleder = mysql_query("SELECT * FROM gallerier WHERE brugerid = '$brugerid' AND galleri = '1' AND type = '0'");
    $countBilleder = mysql_num_rows($countBilleder);
    if($countBilleder == "50"){
        echo "<center><b>Du kan ikke uploade flere billeder, da du allerede har uploadet 100. Slet nogle billeder, og prøv igen.</b></center>";

}elseif($uploadtype == "image/gif" OR $uploadtype == "image/jpg" OR $uploadtype == "image/pjpeg" OR $uploadtype == "image/jpeg" OR $uploadtype == "image/x-png" OR $uploadtype == "image/bmp"){
    copy ($_FILES['uploadbilledefil']['tmp_name'], "brugeruploads/". $billedenavn . "." . $filendelse)or die ("<center><b>Der skete en fejl! Prøv igen.<br>Hvis det bliver ved, så kontakt en admin via kontakt siden.</b></center>");
          $mappe = "brugeruploads/";
       
        $billedenavn =  $billedenavn . "thumbnail.gif";
        $destination = $mappe . basename($billedenavn);
        $thumbnail = $destination;
        $ext = strtolower(end(explode(".", $_FILES['uploadbilledefil']['name'])));
        $ext = strtolower($ext);
        move_uploaded_file($_FILES['uploadbilledefil']['tmp_name'], $destination);
        $imgsize = getimagesize($destination);
        $width ="90";
        $height ="90";
        $sti_img = ImageCreateTrueColor($width,$height);
        if($ext == 'jpeg' OR $ext == 'jpg' OR $ext == 'jpg')
        {
            $src_img = ImageCreateFromJpeg($destination);
        }
        elseif($ext == 'gif')
        {
            $src_img = ImageCreateFromGif($destination);
        }
        elseif($ext == 'png')
        {
            $src_img = ImageCreateFromPng($destination);
        }
        ImageCopyResampled($sti_img,$src_img,'0','0','0','0',$width,$height,ImageSX($src_img),ImageSY($src_img));
        ImageGif($sti_img,$thumbnail);
        $type = "0";
        $opretBillede = "INSERT INTO gallerier (brugerid, billedesti, thumbsti, billedenavn, beskrivelse, type, galleri)
                                                VALUES ('$brugerid', '$billedesti', '$billedenavn', '$titel', '$beskrivelse', '$type', '$galleri')";
                                            mysql_query($opretBillede) or die(mysql_error());
        echo "<center><b>Billedet er nu uploadet!</b></center>";
}else{
        echo "<center><b>Billedet du uploadede er ugyldigt! Du kan kun uploade jpg, gif, png og bmp filer.</b></center>";
        include("uploadbillede.php");
}
}}
?>

if($galleri == "0"){
    $countBilleder = mysql_query("SELECT * FROM gallerier WHERE brugerid = '$brugerid' AND galleri = '0' AND type = '0'");
    $countBilleder = mysql_num_rows($countBilleder);
    if($countBilleder == "100"){
        echo "<center><b>Du kan ikke uploade flere billeder, da du allerede har uploadet 100. Slet nogle billeder, og prøv igen.</b></center>";
    }
}
Denne kode er til tjek af offentlige billeder.

if($galleri == "1"){
    $countBilleder = mysql_query("SELECT * FROM gallerier WHERE brugerid = '$brugerid' AND galleri = '1' AND type = '0'");
    $countBilleder = mysql_num_rows($countBilleder);
    if($countBilleder == "50"){
        echo "<center><b>Du kan ikke uploade flere billeder, da du allerede har uploadet 100. Slet nogle billeder, og prøv igen.</b></center>";

Denne er til private.

Nogen der vil ordne koden for mig?
Avatar billede erikjacobsen Ekspert
27. juni 2007 - 15:04 #1
Der mangler vel nogle }-ere
Men hvorfor ikke slå fejlvisning til?
Avatar billede sorensen_123 Nybegynder
27. juni 2007 - 15:26 #2
Jeg har da selvfølgelig fejlvisning, men siden er bare blank.
Avatar billede pidgeot Nybegynder
27. juni 2007 - 15:29 #3
...hvilket vil sige du ikke har fejlvisning ;)

Udover gode gamle error_reporting er der også en property i php.ini der hedder display_errors. Hvis denne ikke er slået til, vises der aldrig fejl, heller ikke med error_reporting(E_ALL).

Slå den til, og check fejlene - hvis du er på webhotel, kan du muligvis gøre dette fra dit kontrolpanel.

*går igen*
Avatar billede sorensen_123 Nybegynder
27. juni 2007 - 15:33 #4
Jeg HAR display_errors på, som jeg sagde før, og der kommer også andre fejl op, men tror bare ikke at den kører det andet!

Bare fordi der ikke er en fejl, behøver den da ikke vise noget :)
Avatar billede erikjacobsen Ekspert
27. juni 2007 - 15:47 #5
Så er vi vel tilbage ved: Der mangler vel nogle }-ere
Avatar billede sorensen_123 Nybegynder
27. juni 2007 - 17:10 #6
Ja, men hvor..?
Avatar billede cronick Nybegynder
28. juni 2007 - 01:06 #7
<?
if(!$_SESSION[brugernavn] OR !$_SESSION[kodeord]){
    echo "<center><b>Du skal være logget ind for at kunne uploade billeder!</b></center>";
    include("loginform.php");   
}elseif($_SESSION[brugernavn] AND $_SESSION[kodeord]){   
$brugerid = $_SESSION[brugerid];
$titel = $_POST[uploadbilledetitel];
$galleri = $_POST[uploadbilledegalleri];
$dato = $_POST[uploadbillededato];
$beskrivelse = $_POST[uploadbilledebeskrivelse];
$uploadtype = $_FILES['uploadbilledefil']['type'];
$billedenavn = $_SESSION['brugernavn'] . time();
$billedenavn = md5($billedenavn);
$filendelse = strtolower(end(explode(".", $_FILES['uploadbilledefil']['name'])));
$filendelse = strtolower($filendelse);
$billedesti = $billedenavn . "." . $filendelse;
$stoerrelse = $_FILES['uploadbilledefil']['size'];

if($stoerrelse >= 1536000){
    echo "<center><b>Billedet du uploadede var for stort.</b></center><br>";
    include("uploadbillede.php");
}elseif(!$titel){
    echo "<center><b>Du skal give billedet en titel.</b></center><br>";
    include("uploadbillede.php");
}elseif(!$dato){
    echo "<center><b>Du skal give billedet en dato.</b></center><br>";
    include("uploadbillede.php");
}elseif(!$beskrivelse){
    echo "<center><b>Du skal skrive en beskrivelse til billedet.</b></center><br>";
    include("uploadbillede.php");
}

if($galleri == "0"){
    $countBilleder = mysql_query("SELECT * FROM gallerier WHERE brugerid = '$brugerid' AND galleri = '0' AND type = '0'");
    $countBilleder = mysql_num_rows($countBilleder);
    if($countBilleder == "100"){
        echo "<center><b>Du kan ikke uploade flere billeder, da du allerede har uploadet 100. Slet nogle billeder, og prøv igen.</b></center>";
    }
}

if($galleri == "1"){
    $countBilleder = mysql_query("SELECT * FROM gallerier WHERE brugerid = '$brugerid' AND galleri = '1' AND type = '0'");
    $countBilleder = mysql_num_rows($countBilleder);
    if($countBilleder == "50"){
        echo "<center><b>Du kan ikke uploade flere billeder, da du allerede har uploadet 100. Slet nogle billeder, og prøv igen.</b></center>";

}elseif($uploadtype == "image/gif" OR $uploadtype == "image/jpg" OR $uploadtype == "image/pjpeg" OR $uploadtype == "image/jpeg" OR $uploadtype == "image/x-png" OR $uploadtype == "image/bmp"){
    copy ($_FILES['uploadbilledefil']['tmp_name'], "brugeruploads/". $billedenavn . "." . $filendelse)or die ("<center><b>Der skete en fejl! Prøv igen.<br>Hvis det bliver ved, så kontakt en admin via kontakt siden.</b></center>");
          $mappe = "brugeruploads/";
       
        $billedenavn =  $billedenavn . "thumbnail.gif";
        $destination = $mappe . basename($billedenavn);
        $thumbnail = $destination;
        $ext = strtolower(end(explode(".", $_FILES['uploadbilledefil']['name'])));
        $ext = strtolower($ext);
        move_uploaded_file($_FILES['uploadbilledefil']['tmp_name'], $destination);
        $imgsize = getimagesize($destination);
        $width ="90";
        $height ="90";
        $sti_img = ImageCreateTrueColor($width,$height);
        if($ext == 'jpeg' OR $ext == 'jpg' OR $ext == 'jpg')
        {
            $src_img = ImageCreateFromJpeg($destination);
        }
        elseif($ext == 'gif')
        {
            $src_img = ImageCreateFromGif($destination);
        }
        elseif($ext == 'png')
        {
            $src_img = ImageCreateFromPng($destination);
        }
        ImageCopyResampled($sti_img,$src_img,'0','0','0','0',$width,$height,ImageSX($src_img),ImageSY($src_img));
        ImageGif($sti_img,$thumbnail);
        $type = "0";
        $opretBillede = "INSERT INTO gallerier (brugerid, billedesti, thumbsti, billedenavn, beskrivelse, type, galleri)
                                                VALUES ('$brugerid', '$billedesti', '$billedenavn', '$titel', '$beskrivelse', '$type', '$galleri')";
                                            mysql_query($opretBillede) or die(mysql_error());
        echo "<center><b>Billedet er nu uploadet!</b></center>";
}else{
        echo "<center><b>Billedet du uploadede er ugyldigt! Du kan kun uploade jpg, gif, png og bmp filer.</b></center>";
        include("uploadbillede.php");
}
}
}

if($galleri == "0"){
    $countBilleder = mysql_query("SELECT * FROM gallerier WHERE brugerid = '$brugerid' AND galleri = '0' AND type = '0'");
    $countBilleder = mysql_num_rows($countBilleder);
    if($countBilleder == "100"){
        echo "<center><b>Du kan ikke uploade flere billeder, da du allerede har uploadet 100. Slet nogle billeder, og prøv igen.</b></center>";
    }
}

# Denne kode er til tjek af offentlige billeder.

if($galleri == "1"){
    $countBilleder = mysql_query("SELECT * FROM gallerier WHERE brugerid = '$brugerid' AND galleri = '1' AND type = '0'");
    $countBilleder = mysql_num_rows($countBilleder);
    if($countBilleder == "50"){
        echo "<center><b>Du kan ikke uploade flere billeder, da du allerede har uploadet 100. Slet nogle billeder, og prøv igen.</b></center>";
    }
}
?>
Avatar billede sorensen_123 Nybegynder
28. juni 2007 - 11:41 #8
Virker desværre ikke.. Det er som om at den ikke rigtigt kommer videre hvis $galleri == "0"...
Avatar billede sorensen_123 Nybegynder
28. juni 2007 - 11:49 #9
Fik selv ordnet det, rykkede bare tjekket op i toppen af koden, og så virker det.

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