-
Q:
Foto’s laten zien lukt niet
Ik heb 24 foto’s waarvan ik met Automator 24 thumbs heb gemaakt. De thumbs worden op de pagina fotos.php geladen, de pagina begint overigens met:
[code:1:cf2bbb1fbf]$view = $_GET[’view’];
if ($view == "")
{
$view = "all";
}[/code:1:cf2bbb1fbf]Dus als je de pagina opent dan worden de thumbs netjes weergegeven:
[code:1:cf2bbb1fbf]if($view=="all")
{for ($nummer = 1; $nummer <= 24; $nummer ++)
{
echo ‘<div id="thumbwrap">’;
echo ‘<div id="thumb">’;
echo ‘<a href="fotos.php?view=’ . $nummer . ‘" onfocus="blur()"><img src="fotos/thumbs/foto-‘ . $nummer . ‘.jpg" title="Klik voor een vergroting" border="0"></a>’;
echo ‘</div>’;
echo ‘</div>’;
}}[/code:1:cf2bbb1fbf]
Zoals je kunt zien wordt de thumb van foto1 weergegeven met een link naar ?view=1. Als $view gelijk is aan $nummer dan gebeurt er dit:
[code:1:cf2bbb1fbf]if($view==$nummer)
{
echo ‘<img src="fotos/foto-‘ . $nummer . ‘.jpg">’;
}[/code:1:cf2bbb1fbf]En bij dit gedeelte loopt het vast, ik zie alleen maar een witte pagina en geen foto. Ik snap niet waarom dit zo is. Wie ziet het wel?
”DouweM”Als je deze drie stukjes achter elkaar plakt heb je dus jouw script?
Zet bovenaan de pagina eens het volgende neer:
<?php
error_reporting(E_ALL);
?>
En plaats de errors hier / probeer het zelf op te lossen.Ja, dat is het hele script.
Als ik ‘error_reporting(E_ALL);’ bovenaan de pagina zet, dan zie ik geen errors verschijnen.
Nou krijg ik vanalles te zien:
Deze is de ‘view’ van de foto’s:
Notice: Undefined index: view in /Applications/MAMP/htdocs/site/fotos.php on line 6En deze gebruik ik om in header.php de juiste titel van de pagina te weergeven, deze worden op het moment dus ook niet gebruikt:
Notice: Undefined variable: home in /Applications/MAMP/htdocs/site/header.php on line 10Notice: Undefined variable: biografie in /Applications/MAMP/htdocs/site/header.php on line 14
Notice: Undefined variable: band in /Applications/MAMP/htdocs/site/header.php on line 20
Notice: Undefined variable: playlist in /Applications/MAMP/htdocs/site/header.php on line 28
Notice: Undefined variable: contact in /Applications/MAMP/htdocs/site/header.php on line 32
Notice: Undefined variable: home in /Applications/MAMP/htdocs/site/header.php on line 51
Ik raad je aan al deze errors te fixen, maar met dit probleem gaat het natuurlijk om de volgende:
Notice: Undefined index: view in /Applications/MAMP/htdocs/site/fotos.php on line 6Dit betekent dat de key ‘view’ in de op regel 6 gebruikte array (hier dus $_GET) niet gedefinieerd is. Oftewel: Eerst kijken of deze bestaat (met isset()), dan pas er iets mee doen.
Als je op een van de images klikt krijg je overigens nog een error.Als ik op een afbeelding klik krijg ik inderdaad een error:
Notice: Undefined variable: nummer in /Applications/MAMP/htdocs/soundbite/fotos.php on line 36
Maar hoezo is die niet gedefinieerd dan? Ik heb ‘m toch in het script duidelijk gedefinieerd? Of begrijp ik het dan fout…?
”TheAls ik op een afbeelding klik krijg ik inderdaad een error:
Notice: Undefined variable: nummer in /Applications/MAMP/htdocs/soundbite/fotos.php on line 36
Maar hoezo is die niet gedefinieerd dan? Ik heb ‘m toch in het script duidelijk gedefinieerd? Of begrijp ik het dan fout…?
Welke heb je niet gedefiniëerd bedoel je in je laatste zin?
De GET waarde ‘view’ niet, omdat je hem niet in de URL hebt opgegeven, dan is hij dus niet gedefiniëerd, de variabele ‘nummer’ niet omdat deze is gemaakt in het if($view == “all”)-stukje, als $view niet “all” is wordt $nummer dus niet gedefiniëerd.”DouweM”De GET waarde ‘view’ niet, omdat je hem niet in de URL hebt opgegeven, dan is hij dus niet gedefiniëerd,
Wat bedoel je daar precies mee?
”DouweM”de variabele ‘nummer’ niet omdat deze is gemaakt in het if($view == “all”)-stukje, als $view niet “all” is wordt $nummer dus niet gedefiniëerd.
Hoe kan ik ervoor zorgen dat de variabele ‘nummer’ ook buiten de loop herkent wordt?
”The”DouweM”De GET waarde ‘view’ niet, omdat je hem niet in de URL hebt opgegeven, dan is hij dus niet gedefiniëerd,
Wat bedoel je daar precies mee?
”DouweM”de variabele ‘nummer’ niet omdat deze is gemaakt in het if($view == “all”)-stukje, als $view niet “all” is wordt $nummer dus niet gedefiniëerd.
Hoe kan ik ervoor zorgen dat de variabele ‘nummer’ ook buiten de loop herkent wordt?
$_GET-waardes komen uit de URL, als je in de URL geen ?view=nogwat neerzet, is $_GET[‘view’] dus niet gedefinieerd.
Door hem neer te zetten buiten het if-stukje
Ik heb 24 foto’s in een map staan, met de namen foto-1 tot en met foto-24. Zoals je kunt zien worden de thumbnails neergezet met een link naar ?view=$nummer. En $nummer is dus het getal van de bestandsnaam van de foto.
En in dat stukje hierboven dit bericht gebeurt dus dat foto-2.jpg weergegeven wordt als ?view=2 waar is. De waarde van $nummer komt daar dus uit de link van de thumbnail. Als dat een beetje duidelijk is
Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.