Hallo,

Ik gebruik een script die ik van iemand heb gekregen, deze werkt prima. echter na het aanzetten van de error meldingen op de server blijkt er toch een hoop fout te zijn. dit zou te maken hebben met de superglobals.

Dit is het script:

</BR>
<?php

//config
$limiet=15; // aantal fotos per pagina
$ThisPage = "index.php?pagina=fotoalbum"; // naam van deze pagina
$HooftDir = "fotos"; // naam hoofdmap fotos
$aantalthumbs = 4; // aantal thumbnails per rij
$totalwidth = 400; // tataale breedte pagina
$sortAlbums = SORT_DESC; // Sorteren van de albums op datum(SORT_ASC,SORT_DESC)
$sortName = ""; // "ok" voor op naam sorteren, "" voor op datum sorteren(voor de fotoos!)
$sortFotos = SORT_ASC; // Sorteren van de foto's(SORT_ASC,SORT_DESC)
$thumbnaam = "/thumb.jpg"; // naam van de thumbs(klein fototje)
$GeenThumb = "geenthumb.jpg"; // naam plaatje als er geen thumb is
$achtergrondboven = "#FFFFFF"; // achtergrondkleur boven
$achtergrondonder = "#dcdcdc"; // achtergrondkleur onder
$tekstkleur = "#000000"; // tekstkleur
$bgcolor = "#dedede"; // achtergrondkleur

//hieronder niets veranderen

$offset = $_POST['offset'];
$page = $_GET['page'];
$linkt .= " / ".$page;
$celbreedte = $totalwidth/$aantalthumbs;

//mappen/albums zoeken
if (file_exists($HooftDir)) {
$SubDir = array();
if ($dirHandle = opendir($HooftDir)){
while ($album = readdir($dirHandle)){
if ($album != "." && $album != ".."){
$pathAlbum = $HooftDir."/".$album;
if (is_dir($pathAlbum)){
$SubDir[] = array(filemtime($pathAlbum),$album);
}
}
}
closedir($dirHandle);
}
} else {
$str .= "Hoofdmap bestaat niet!";
}


//foto's zoeken
if (file_exists($HooftDir)) {
$mypics = array();
if ($dirHandle = opendir($HooftDir."/".$page)){
while ($file = readdir($dirHandle)){
$the_type = strrchr($file, ".");
$is_picture = eregi("jpg",$the_type);
if ($file != "." and $file != ".." and $is_picture){
$pathfile = $HooftDir."/".$page."/";
if(!isset($sortName)){
$mypics[] = array(filemtime($pathfile."/".$file),$file);
}else{
$mypics[] = array($file,$file);
}
}
}
closedir($dirHandle);
}
}


//array albums sorteren
if(isset($SubDir)){
array_multisort($SubDir, $sortAlbums);
$AantalSubDir = count($SubDir);
}


//array foto's sorteren
if(isset($mypics)){
array_multisort($mypics, $sortFotos);
$counter = count($mypics);
}


//albums weergave
$Albums .= '<tr><td bgcolor="'.$achtergrondboven.'">&nbsp;&nbsp;&nbsp;
<b>Er zijn '.$AantalSubDir ." albums </b></td></tr>
<tr><td><table border='1' width='".$totalwidth."' bgcolor=".$achtergrondonder."><tr>\n";
if($AantalSubDir>0){
$count = 0;
$coll = 1;
while ($count < $AantalSubDir) {
if ($coll <= $aantalthumbs) {
if(file_exists($HooftDir."/".$SubDir[$count][1].$thumbnaam)){
$Albums .= "<td width='".$celbreedte."'>\n<center><br><a href='".$ThisPage."&page=".$SubDir[$count][1]."'><img src='".$HooftDir."/".$SubDir[$count][1].$thumbnaam."' height=80 width=100 border=0></a>";
$Albums .= "<br>".$SubDir[$count][1]."</center></td>\n";
}else{
$Albums .= "<td width='".$celbreedte."'>\n<center><br><a href='".$ThisPage."&page=".$SubDir[$count][1]."'><img src='".$HooftDir."/".$GeenThumb."' height=80 width=100 border=0></a>";
$Albums .= "<br>".$SubDir[$count][1]."</center></td>\n";
}
$coll ++;
$count++;
}
else {
$Albums .= "</tr>\n";
$Albums .= "<tr>\n";
if(file_exists($HooftDir."/".$SubDir[$count][1].$thumbnaam)){
$Albums .= "<td width='".$celbreedte."'>\n<center><br><a href='".$ThisPage."&page=".$SubDir[$count][1]."'><img src='".$HooftDir."/".$SubDir[$count][1].$thumbnaam."' height=80 width=100 border=0></a>";
$Albums .= "<br>".$SubDir[$count][1]."</center></td>\n\n";
}else{
$Albums .= "<td width='".$celbreedte."'>\n<center><br><a href='".$ThisPage."&page=".$SubDir[$count][1]."'><img src='".$HooftDir."/".$GeenThumb."' height=80 width=100 border=0></a>";
$Albums .= "<br>".$SubDir[$count][1]."</center></td>\n\n";
}
$count ++;
$coll = 2;
}
}
}else{
$Albums .= "<tr><td bgcolor=".$achtergrondonder."><i>Geen fotoalbums!</i></td>\n";
}
$Albums .="</tr></table></center></td></tr>";

//voorberijden navigatie
$aantala = $counter/$limiet;
$paginas = ceil($aantala);

if (empty($_GET["offset"])) {$offset=0;}
else {$offset = $_GET["offset"];}

//navigatie maken
if ($counter > $limiet)
{
if ($offset!=0)
{
$vorige_offset=$offset-$limiet;
$pageprint .= "<a href='".$ThisPage."&page=".$page."&offset=".$vorige_offset."' title=\"Vorige pagina\">Vorige</a> |\n";
}

for ($i=1;$i<=$paginas;$i++)
{
$nieuwe_offset=$limiet*($i-1);
if ($nieuwe_offset==$offset)
{
$pageprint .= "<a class='red' href='".$ThisPage."&page=".$page."&offset=".$nieuwe_offset."' title=\"Huidige pagina\"><b>[$i]</b></a> |\n";
}
else
{
$pageprint .= "<a href='".$ThisPage."&page=".$page."&offset=".$nieuwe_offset."' title=\"pagina $i\">$i</a> |\n";
}
}

if (!(round($offset/$limiet)==$paginas-1) && $paginas!=1)
{
$nieuwe_offset=$offset+$limiet;
$pageprint .= "<a href='".$ThisPage."&page=".$page."&offset=".$nieuwe_offset."' title=\"Volgende pagina\">Volgende</a>\n";
}
}

//foto's maken
if($counter>0){
for ($j=$offset; $j < $offset+$limiet; $j++)
{
if($j < $counter){
if($mypics[$j] != "thumb.jpg"){
$str .= "\n<tr><td>\n<br></td></tr>\n";
$str .= '<tr><td bgcolor="'.$achtergrondboven.'">&nbsp;&nbsp;&nbsp;
<b>'.$page.'</b></td></tr>';
$str .= "<tr><td bgcolor=".$achtergrondonder."><center>\n";
$str .= "<img src='".$HooftDir."/".$page."/".$mypics[$j][1]."'>\n";
$str .= "</center></td></tr>\n";
}
}
}
}else{
$str .= "<tr><td><i>Geen foto's</i></td></tr>";
}
$str .= '<tr><td><br></td></tr>
<tr><td bgcolor="'.$achtergrondboven.'">&nbsp;&nbsp;&nbsp;
<b>Ik wil..</b></td></tr>
<tr><td bgcolor='.$achtergrondonder.'><a href="'.$ThisPage.'">Ga terug naar de albums</a></td></tr>';

//wel/geen pagenav
if($counter>$limiet)
{
$pagenav.= '<tr><td><br></td></tr><tr>
<td bgcolor="'.$achtergrondboven.'">&nbsp;&nbsp;&nbsp;
<b>Navigatie</b></td></tr>
<tr><td bgcolor="'.$achtergrondonder.'"><center>'.$pageprint.'</center></td></tr>';
}else{
$pagenav.= '&nbsp;';
}

//alles weergeven

echo"
<html>
<head>
<title>Fotoalbum</title>
<style type='text/css'>
BODY {font-family: Tahoma; color: ".$tekstkleur."; ?>;}
a{color: ".$tekstkleur."; text-decoration: none;}
a.hover{color: ".$tekstkleur."; text-decoration: underline;}
a.active{color: ".$tekstkleur."; text-decoration: none;}
</style>
</head>
<body bgcolor=".$bgcolor.">";

echo "<center><table width='".$totalwidth."' cellspacing=0 cellpadding=0>";
if(!isset($_GET['page'])){
echo $Albums;
}else{
echo $pagenav;
echo $str;
echo $pagenav;
}
echo "</table></body></html>";
?>


Ik moet er bij zeggen dat ik dit script include. maar als ik de fouten verberg werkt het script goed. wie kan mij helpen en zeggen wat er anders moet.

De meeste mensen hebben waarschijnlijk geen zin om zo'n berg code door te spitten naar fouten, en al helemaal niet als ze geen enkel aanknopingspunt hebben.

Mijn vraag is dus: wil je alleen relevante code posten, en doorgeven wat voor errors je krijgt? Dankjewel.
Herjan schreef op 28.03.2007 09:38
De meeste mensen hebben waarschijnlijk geen zin om zo'n berg code door te spitten naar fouten, en al helemaal niet als ze geen enkel aanknopingspunt hebben.

Mijn vraag is dus: wil je alleen relevante code posten, en doorgeven wat voor errors je krijgt? Dankjewel.


idd daar heb jij gelijk in dit zijn de fouten.

Een collega van mij zegt dat dit komt omdat superglobals standaard uitstaan bij php 5, als dat zo is kan ik deze wel aan zetten, maar er staat in wiki dat er uit veiligheids redenen deze optie standaard uit staat net als foutmeldingen weergeven.

Notice: Undefined index: offset in /home/thabomb/public_html/modules/fotoalbum.php on line 22

Notice: Undefined index: page in /home/thabomb/public_html/modules/fotoalbum.php on line 23

Notice: Undefined variable: linkt in /home/thabomb/public_html/modules/fotoalbum.php on line 24

Notice: Undefined variable: Albums in /home/thabomb/public_html/modules/fotoalbum.php on line 84

Notice: Undefined variable: str in /home/thabomb/public_html/modules/fotoalbum.php on line 171

Notice: Undefined variable: pagenav in /home/thabomb/public_html/modules/fotoalbum.php on line 186
Dit zijn geen fouten, het zijn notices (notities, kanttekeningen).

In je oude configuratie werden deze waarschijnlijk niet getoond.

Zet dit boven aan in je script:

error_reporting(E_ALL ^ E_NOTICE);

Reageren