27. juni 2007 - 14:18Der 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>";
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.
<? 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>"; } } ?>
Fik selv ordnet det, rykkede bare tjekket op i toppen af koden, og så virker det.
Lukker.
Synes godt om
Ny brugerNybegynder
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.