Hallo iedereen,
Ik ben nieuw hier en heb zelf onlangs een website gemaakt. Graag wilde ik op een pagina foto's toevoegen en ik kwam deze site tegen. Ik vond de Automatisch Fotoalbum V3 van Arjen Kapteijn, maar wat ik ook doe, op de pagina komt alleen de code te staan die ik daar geplakt heb, ipv dat de foto's daar verschijnen. Graag zou ik willen weten wat ik fout doe, want de contactformulier van mijn website zit bijvoorbeeld ook zonder checks op dit moment. De code is als volgt:



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">;

<html xmlns="http://www.w3.org/1999/xhtml">;
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>www.ANARGO.nl</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="default.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="header">
<div id="logo">
<h1><a href="#">www.ANARGO.nl </a></h1>
<h2></h2>

</div>

<div id="menu">
<ul>
<li><a href="index.html">Home</a></li>
<li><A HREF="nieuws.html">Nieuws</A>
<li class="active"><a href="photos.html">Photos</a></li>
<li><a href="videos.html">Videos</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
</div>



<?php
$map = 'fotoalbum';
$afbeeldingen = array();

$hoogte_klein = 112;
$breedte_klein = 150;

$hoogte_groot = 400;
$breedte_groot = 700;

$perpagina = 12;

if(isset($_GET['album']) && !empty($_GET['album']))
{
$tmp = explode('/',$_GET['album']);

if($tmp[0] == $map)
{
$map = str_replace(array('.', '\\', ':'), '', $_GET['album']);
}
}

if(isset($_GET['paginanr']) && !empty($_GET['paginanr']) && ctype_digit($_GET['paginanr']))
{
$paginanr = $_GET['paginanr'];
}else{
$paginanr = 1;
}

if(isset($_GET['afbeelding']) && !empty($_GET['afbeelding']))
{
$afbeelding = $_GET['afbeelding'];
}else{
$afbeelding = NULL;
}

function thumbnail($afbeelding, $type)
{

$map = $afbeelding['dirname'];
$bestandsnaam = $afbeelding['basename'];

list($type, $hoogte, $breedte) = $type;
list($breedte_origineel, $hoogte_origineel, $extensie) = getimagesize($map.'/'.$bestandsnaam);

if(!is_dir($map.'/thumbs/'))
{
mkdir($map.'/thumbs/', 0777);
chmod($map.'/thumbs/', 0777);
}

if (($breedte_origineel < $hoogte_origineel) && ($breedte > $hoogte))
{
$breedte = ($hoogte / $hoogte_origineel) * $breedte_origineel;
}else{
$hoogte = ($breedte / $breedte_origineel) * $hoogte_origineel;
}

$afbeelding = imagecreatetruecolor($breedte, $hoogte);

switch($extensie)
{
case 1:
//gif
$afbeelding_origineel = imagecreatefromgif($map.'/'.$bestandsnaam);
imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel);
imagegif($afbeelding, $map.'/thumbs/'.$type.'_'.$bestandsnaam);
break;
case 2:
//jpg
$afbeelding_origineel = imagecreatefromjpeg($map.'/'.$bestandsnaam);
imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel);
imagejpeg($afbeelding, $map.'/thumbs/'.$type.'_'.$bestandsnaam, 80);
break;
case 3:
//png
$afbeelding_origineel = imagecreatefrompng($map.'/'.$bestandsnaam);

$background = imagecolorallocate($afbeelding, 0, 0, 0);
imagecolortransparent($afbeelding, $background); // make the new temp image all transparent
imagealphablending($afbeelding, false); // turn off the alpha blending to keep the alpha channel
imagesavealpha($afbeelding, true);
imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel);
imagepng($afbeelding, $map.'/thumbs/'.$type.'_'.$bestandsnaam);
break;
}

chmod($map.'/thumbs/'.$type.'_'.$bestandsnaam, 0777);
return TRUE;
}

$tmp = NULL;
foreach(explode('/',$map) as $tmp2)
{
echo '>> <a href="?pagina=fotoalbum&amp;album='.$tmp.$tmp2.'">'.ucfirst($tmp2).'</a> ';
$tmp = $tmp.$tmp2.'/';
}

echo '<br><br>'.PHP_EOL;

if(!$bestanden = glob($map.'/*.*'))
{
$bestanden = array();
}

foreach($bestanden as $bestand)
{
$gegevens = getimagesize($bestand);
$extensie = $gegevens['mime'];

if($extensie == 'image/jpeg' || $extensie == 'image/gif' || $extensie == 'image/png')
{
$afbeeldingen[] = $bestand;
}
}

$aantalfotos = count($afbeeldingen);

if(isset($afbeelding))
{
foreach($afbeeldingen as $id => $naam)
{
if(basename($naam) == $afbeelding)
{
$fotonr = $id;
}
}

if(isset($fotonr))
{
$afbeelding = pathinfo($afbeeldingen[$fotonr]);

if($fotonr > 0)
{
$vorige_afbeelding = pathinfo($afbeeldingen[$fotonr-1]);

echo '<a href="?pagina=fotoalbum&amp;album='.$map.'&amp;afbeelding='.$vorige_afbeelding['basename'].'" title="Ga naar foto '.$vorige_afbeelding['basename'].'">&lt;&lt; Vorige</a>';
}else{
echo '&lt;&lt; Vorige';
}

echo '&nbsp;&nbsp;&nbsp; Foto '.($fotonr +1).' van '.$aantalfotos.' &nbsp;&nbsp;&nbsp;';

if($fotonr < $aantalfotos -1)
{
$volgende_afbeelding = pathinfo($afbeeldingen[$fotonr+1]);

echo '<a href="?pagina=fotoalbum&amp;album='.$map.'&amp;afbeelding='.$volgende_afbeelding['basename'].'" title="Ga naar foto '.$volgende_afbeelding['basename'].'">Volgende &gt;&gt;</a><br>';
}else{
echo 'Volgende &gt;&gt;<br>'.PHP_EOL;
}

if(!file_exists($afbeelding['dirname'].'/thumbs/groot_'.$afbeelding['basename']))
{
if(thumbnail($afbeelding, array('groot', $hoogte_groot, $breedte_groot)))
{
echo '<a href="'.$afbeelding['dirname'].'/'.$afbeelding['basename'].'" target="_BLANK"><img src="'.$afbeelding['dirname'].'/thumbs/groot_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL;
}
}else{
echo '<a href="'.$afbeelding['dirname'].'/'.$afbeelding['basename'].'" target="_BLANK"><img src="'.$afbeelding['dirname'].'/thumbs/groot_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL;
}
}else{
echo '<p>Sorry, deze foto bestaat niet!</p>';
}
}else{

if(!$mappen = glob($map.'/*', GLOB_ONLYDIR))
{
$mappen = array();
}

foreach($mappen as $album)
{
if(basename($album) != 'thumbs')
{
echo '<a href="?pagina=fotoalbum&album='.$album.'">'.ucfirst(basename($album)).'</a><br>'.PHP_EOL;
}
}

if($aantalfotos > $perpagina)
{
if ($paginanr > 1)
{
echo '<a href="?pagina=fotoalbum&amp;album='.$map.'&amp;paginanr='.($paginanr - 1).'" title="Ga naar pagina '.($paginanr - 1).'">&lt;&lt; Vorige</a>';
}else{
echo '&lt;&lt; Vorige';
}

echo '&nbsp;&nbsp;&nbsp; Pagina '.$paginanr.' van '.ceil($aantalfotos/$perpagina).' &nbsp;&nbsp;&nbsp;';

if ($paginanr < ceil(($aantalfotos)/$perpagina))
{
echo '<a href="?pagina=fotoalbum&amp;album='.$map.'&amp;paginanr='.($paginanr + 1).'" title="Ga naar pagina '.($paginanr + 1).'">Volgende &gt;&gt;</a><br>';
}else{
echo 'Volgende &gt;&gt;<br>'.PHP_EOL;
}
}

for($fotonr = (($paginanr -1) * $perpagina); $fotonr <= ((($paginanr -1) * $perpagina) + ($perpagina - 1)) && $fotonr < count($bestanden); $fotonr += 1)
{
$afbeelding = pathinfo($afbeeldingen[$fotonr]);

if(!file_exists($afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename']))
{
if(thumbnail($afbeelding, array('klein', $hoogte_klein, $breedte_klein)))
{
echo '<a href="?pagina=fotoalbum&amp;album='.$map.'&amp;afbeelding='.$afbeelding['basename'].'"><img src="'.$afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL;
}
}else{
echo '<a href="?pagina=fotoalbum&amp;album='.$map.'&amp;afbeelding='.$afbeelding['basename'].'"><img src="'.$afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL;
}
}
}
?>

</body>
</html>
Heeft de bestandsnaam wel een .php extentie i.p.v. .html?
1) Zoals Aar zegt, check of het bestand extensie .PHP heeft (en dus niet .HTML)

2) Als je de PHP code zelf kan zien, heb je waarschijnlijk dit vergeten:

<?php ... ?>

(dus php openen/sluiten)

Want dan zou je inderdaad de PHP code zien. Dan wordt de code uitgevoerd als HTML en simpelweg op het scherm gegooid.
Ik zie dat in die code staan hoor Dennis?

Ik denk meer dat:
- hij de extentie vergeten is (index.html- > index.php)
- geen php-ondersteuning heeft op de server.
@Aar,

1) Zijn hosting is Mijndomein (volgens SIDN) en die hebben standaard PHP actief?
2) Als je HTML extensie gebruikt, dan wordt de PHP code niet uitgevoerd, maar dan is de code ook niet zichtbaar, toch? Hij geeft aan dat de code wel zichtbaar is. Althans, zo begrijp ik dat uit zijn verhaal.

Laat hij eerst even de besproken oplossingen proberen en dan horen we het wel.
Dennis de Swart op 11/06/2011 23:58:45

2) Als je HTML extensie gebruikt, dan wordt de PHP code niet uitgevoerd, maar dan is de code ook niet zichtbaar, toch?


Helaas, echt wel zichtbaar.
Hallo, dank jullie wel voor jullie reacties! Ik heb index.html, want heb daar geen php in gebruikt, zal dat dus vanmiddag nog veranderen in index.php, hetzelfde moet ik dus doen met foto.html. En even voor de duidelijkheid: de php stukje hoort tussen de body tags van html en niet dat de html stukjes tussen het php openen en sluiten hoort? Sorry ben echt heel nieuw bij dit allemaal.
Gr Gor Grigorian
Klopt....
Even renamen, en het zou moeten werken.
Alle pagina's waar je PHP in gebruikt moet je de .php extensie geven. Het geeft totaal geen problemen als je alle pagina's naar .php hernoemt. Een .php file waar enkel HTML in staat doet exact hetzelfde als een pagina waar zowel PHP en HTML in staat.

Het maakt niet uit of je de PHP tussen de <body> tags neerzet, maar om je code XHTML valid te houden moet je wél zorgen dat output binnen de <body> tags komt.

Je kunt HTML ook in PHP printen / echo-en, zo bijvoorbeeld:
<?php
echo '<p class="paragraaf">Paragraafje</p>';
?>
Om dat echter overal bij je code te doen is in mijn ogen echt zonde. Als je grote lappen HTML hebt die ergens tussen moet, sluit PHP dan af, zet je HTML neer en open PHP dan weer (als je nog meer PHP code hebt):
<?php if ($ingelogd): ?>
  <p class="iets">
    Gebruiker is ingelogd.
  </p>
  <a href="..">Profiel</a><br />
  <a href="..">Uitloggen</a>
<?php endif; ?>


Dat houdt de overzichtelijkheid beter.
Hallo, dank jullie wel! Het werkt uitstekend! Ik heb iid alle files hernoemd naar .php en nu werkt het. Nogmaals dank jullie wel voor jullie snelle reacties en uitleg!
Gr. Gor Grigorian

Reageren