php functies

Status
Niet open voor verdere reacties.

De Mettes

Gebruiker
Lid geworden
29 mei 2007
Berichten
172
Dag iedereen

ik heb een foto album dat bestaat uit 2 php files. Nu heb ik mijn site aangepast dat mijn navigatie werkt met php waardoor mijn pagina's in mijn main div komen.

Als ik mijn albumlist.php open geeft dit correct weer. Maar als ik op de link klik voor de foto's weer te geven ga ik naar album.php (in dezelfde map) maar hij geeft dat dit bestand niet bestaat(geeft een foute url).

Dit zijn mijn php codes:

albumlist.php
PHP:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="generator" content="Bluefish 1.0.7">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Foto Album</title>
</head>

<!--<body bgcolor="#d3e2e9">Foto's<br> TITEL--><body bgcolor="#d3e2e9">
<table cellspacing="0" border="0" cellpadding="0" width="90%">
<tr><td colspan="2"><hr></td></tr>
<tr>

       <td rowspan="2" align="center" width="200"><a href="album.php?page=album&boek=2007"><img src="2007/sloebers_JPG.jpg" height="100" alt="Album 1" border="0"></a></td>
       <td valign="top"><font face="Arial" size="2">Kamp 2007<br>
        </font><font face="Arial" size="1">Virton</font><br>
     </td>
</tr>
<tr>
       <td valign="bottom"><a href="album.php?page=album&boek=2007">Foto's bekijken</a></td>     
</tr>
<tr><td colspan="2"><hr></td></tr>

<tr>

</table>
 

</body>

</html>


album.php
PHP:
<?php 

$host="localhost"
$user="naam"
$password="w8woord"
$dbnaam="DBnaam"
$db=mysql_connect($host,$user,$password) or die(mysql_error()); 
mysql_select_db($dbnaam,$db) or die("mysql_errno():mysql_error()"); 
 
if(is_dir($_GET['boek'])){ 
// configuratie 
$aantalFotos = 18;                                           // aantal fotos per pagina 
$originalPath = $_GET['boek'];                            //de map aangeroepen in de url 
$path = $_GET['boek'];                        // path naar de foto 

$fotoArray = array(); 

$d = dir("$path");   

while($entry=$d->read()) {   
           if(eregi(".jpg|.jpeg|.gif|.bmp|.png", $entry)){ 
                ClearStatCache();   
      
                 $foto = $path . "/" . $entry ; 
             $fotoArray[] = $foto; 
          
            } 
          
}   

$d->close();   
$count = count($fotoArray); 

$pathspatie = str_replace("_", "&nbsp;", $originalPath); 


// reactie Plaatsen 
if(isset($_POST["submitreactie"])){ 
    $query = "insert into fotosreacties (boek,foto,naam,datum,reactie) values "; 
    $query .= "('" . $_GET['boek'] . "','" . $fotoArray[$_GET["fotoID"]] . "','" . $_POST["naam"] . "','" . time() . "','" . $_POST["reactie"] . "')"; 

if($result = mysql_query($query)){ 
    echo "Je reactie is geplaatst"; 
    } // end if 
else { 
    echo "Sorry, je reactie kon niet geplaatst worden."; 
    } // end else         

    } // end if 
     
     
     
// kijken hoeveel reacties iedere foto heeft 
$reacties; 
$query = "select foto from fotosreacties where boek = '" . $_GET['boek'] . "'"; 
if($result = mysql_query($query)){ 
    while ($r = mysql_fetch_array($result)){ 
        while ($foto = current($fotoArray)) { 
               if ($foto==$r["foto"]){ 
                   $key = key($fotoArray); 
                   } // end if 
               next($fotoArray); 
            } // end while 
        if(!isset($reacties[$key])){ 
            $reacties[$key] = 1; 
            } // end if     
        else { 
            $reacties[$key]++; 
            } // end else     
            reset($fotoArray); 

        } // end while 
    } // end if     
?> 

<html> 
<head> 
    <title>Fotos</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
<!--
body {
	background-color: #d3e2e9;
}
-->
</style></head> 

<body> 


<table width="100%"><tr><td align="center" width="100%"> 

<? 


// 1 FOTO PER PAGINA 

if((isset($_GET['fotoID'])) AND (intval($_GET['fotoID']>=0)) AND (intval($_GET['fotoID'] < $count))){ 
    $showFoto = intval($_GET['fotoID']); 

echo "<table width='40%'><tr><td colspan='3' align='center'><b>" . $pathspatie . "</b> 
<br><br><small>Foto " . ($showFoto + 1) . " / " . $count . "</small></big></font> </td></tr><tr>"; 

echo "<tr><td colspan='3'  align='center'><a href='" . $fotoArray[$showFoto] . "' target='_blanc'><img src='" . $fotoArray[$showFoto] . "' height='300' border='0'></a></td></tr>"; 
echo "<tr><td  width='40%'>"; 
if($showFoto!=0){ 
         $prevFoto = ($showFoto - 1); 
         echo "<a href='" . $_SERVER['PHP_SELF'] . "?page=album&boek=" . $originalPath . "&fotoID=" . $prevFoto . "'>Vorige</a> "; 
} //  end if 
echo "</td><td  width='33%'>"; 
$pageNR = floor($_GET['fotoID'] / $aantalFotos); 
$pageNR = $pageNR * 18; 
echo "<a href='" . $_SERVER['PHP_SELF'] . "?page=album&boek=" . $originalPath . "&vanafFoto=" . $pageNR . "'>Alles weergeven</a> "; 
echo "</td><td  align='right'>"; 
if($showFoto!=($count -1)){ 
         $nextFoto = ($showFoto + 1); 
         echo "<a href='" . $_SERVER['PHP_SELF'] . "?page=album&boek=" . $originalPath . "&fotoID=" . $nextFoto . "'>Volgende</a> "; 
} //  end if 
echo "</td></tr></table>"; 


echo "<br><br><b>Reacties</b>"; 

$reacties; 
$query = "SELECT * FROM fotosreacties where foto = '" . $fotoArray[$showFoto] . "' order by datum ASC"; 
if($result = mysql_query($query)){ 
    if(mysql_numrows($result)==0){ 
        echo "<br><br>Er zijn nog geen reacties"; 
        } // end if 
    else {     
        echo "<table width='40%' cellspacing='0' border='0'  cellpadding='0'>"; 
        echo "<tr><td  colspan='2'><hr></td></tr>"; 
        while ($r = mysql_fetch_array($result)){ 
             echo "<tr><td><b>" . $r["naam"] . "</b> "; 
              echo "</td><td width='40%'><small>[ " . date("d/m/Y @ H:i",$r["datum"]) . " ]</small></td><tr>"; 
             echo "<tr><td  colspan='2'>" . $r["reactie"] . "</td></tr>"; 
              echo "<tr><td  colspan='2'><hr></td></tr>"; 
             } // end while 
        echo "</table>"; 
        } // end else 
    } // end if 

echo "<form method='post' action=''>"; 
echo "<table>"; 
echo "<tr>"; 
echo "<td>Naam:<br><input type='text' name='naam'></td></tr>"; 
echo "<tr><td>Jouw Reactie:<br><textarea name='reactie' cols='30' rows='5'></textarea><br></td></tr>"; 
echo "<tr><td><input type='submit' name='submitreactie' value='Verzenden'></td></tr>"; 
echo "</table>";     
echo "</form>"; 



} // end if 

// X FOTOS PER PAGINA 

else { 

// configuratie 
$clm = "3";                                                                      // Aantal kolommen 


$countFotos = count($fotoArray); 
$thumbPath = $path . "/";                                             //Path naar thumps 
$path2 = $path . "/";         



echo "<br><table ><tr>"; 

echo "<td align='center' colspan='" . $clm . "'>"; 


// navigatie 
$navigation; 
if($countFotos < ($aantalFotos + 1)){ 
               $begin = 0; 
               $eind = $countFotos; 
                
} // end if 
else { 

$aantalPages =  ceil($countFotos / $aantalFotos) ; 
for($i=1; $i < $aantalPages + 1; $i++){ 
          $pageNR = ($i - 1) * $aantalFotos; 
           
          if($pageNR==$_GET["vanafFoto"]){ 
           $navigation .= "<small><font color='#990000'>" . $i . "</font></small> "; 
          } 
            else { 
            $navigation .= "<a href='?page=album&boek=" . $originalPath . "&vanafFoto=" . $pageNR . "'>" . $i . "</a> "; 
            } 
} // end for 


if((isset($_GET['vanafFoto'])) AND (intval($_GET['vanafFoto']>=0)) AND (intval($_GET['vanafFoto'] < $countFotos))){ 
        $begin = intval($_GET['vanafFoto']); 
     
       if(($begin + $aantalFotos) <= $countFotos){ 
                     $eind = ($begin + $aantalFotos); 
           } // end if 
      else { 
                   $eind = $countFotos; 
           } // end else 
            
} // end if 
else { 
     $begin = 0; 
     $eind = $aantalFotos; 
} // end else 
                                             
$countFotos = count($fotoArray); 


                                                 // path naar echte foto 

} // end else 

echo "<table border='0' cellpadding='0' cellspacing='2'><tr><td ><b>" . $pathspatie . "</b> <small>(" . $count . ")</small> 
<br><br><center><small>Foto " . ($begin + 1) . " - " . $eind . "</small></center></td></tr></table>"; 



if(($begin - $aantalFotos) >= 0){ 
             $navigation = "<a href='" . $_SERVER['PHP_SELF'] . "?page=album&boek=" . $originalPath . "&vanafFoto=" . ($begin - $aantalFotos) . "'><</a> " . $navigation;             
    } // end if 
             
         
if(($begin + $aantalFotos) < $count){ 
             $navigation .= " <a href='" . $_SERVER['PHP_SELF'] . "?page=album&boek=" . $originalPath . "&vanafFoto=" . ($begin + $aantalFotos) . "'>></a>";             
   } // end if 

echo $navigation . "<br><br>"; 
echo "</td></tr><tr>"; 
$fotonr = 1; 
for($i=$begin; $i < $eind; $i++){ 


$thumb = str_replace($path2, $thumbPath, $fotoArray[$i]); 


    echo "<td align='center'><a href='" . $_SERVER['PHP_SELF'] . "?page=album&boek=" . $originalPath . "&fotoID=" . $i . "'><img border='0' src='" . $thumb . "' height='100'><br>"; 
echo "<small>reacties ("; 
if($reacties[$i]==0){ 
    echo "0"; 
    } // end if 
else { 
    echo $reacties[$i]; 
    } // end else     
echo ")</small>"; 
echo "</a></td>"; 
    $fotonr++; 
    if($fotonr == ($clm + 1)){ 
    echo "</tr>\n<tr>"; 
     $fotonr = 1; 
} // end if 


     
         
} // end for 
echo "</tr>"; 

echo "<td align='center' colspan='" . $clm . "'>"; 

echo $navigation; 

echo "</td></tr><tr>"; 

echo "</table>";   


} // end else if 
} // end if 
else { 
    echo "Dit fotoalbum bestaat niet"; 
    } // end else 
 

 
?>
</td></tr></table> 



</body> 
</html>

Nu heb ik al geprobeert om in albumlist.php de link te veranderen van
PHP:
<a href="album.php?page=album&boek=2007">
naar
PHP:
<a href="?page=/fotos/kampen/album">
Dan geeft hij weer dat het album niet bestaat angezien het stuk van "album&boek=2007" er niet bij zit maar ik zou niet weten hoe dit komt.

Hier vind je de site en dan bij "foto's" -> "kampen" of via de url waar de bestanden zich bevinden. De link "album 1" is op de tweede manier gelinkt en "Foto's bekijken" op de eerste manier gelinkt.

Kan iemand mij helpen?
 
Als ik op de album link druk staat er voor ?page=/fotos/kampen/album nog een /, als je de link bekijkt... Is dit het?
 
Heb de / weg gedaan en komt op hetzelfde.

Mijn script geeft daar "Dit fotoalbum bestaat niet" wat wil zeggen dat hij de map niet vind waar de foto's instaan.

Script komt van hier en werkt met gewoon navigatie maar dus niet met
PHP:
<a href="?page=fotos/kampen/albumlist"  >Kampen</a>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan