15 berichten aan het bekijken - 1 tot 15 (van in totaal 15)
  • Q:
    Bijdrager
    The JM

    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?

    Bijdrager
    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.

    Bijdrager
    The JM
    ”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.

    Bijdrager
    DouweM

    Okay, zet bij (onder/boven) error_reporting(E_ALL); eens het volgende:
    ini_set(“display_errors”, 1);
    Als ie dan nog niks weergeeft is er iets vaags met jouw PHP installatie, of met mijn hersenen;)

    Bijdrager
    The JM

    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 6

    En 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 10

    Notice: 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

    Bijdrager
    DouweM

    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 6

    Dit 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.

    Bijdrager
    The JM

    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…?

    Bijdrager
    DouweM
    ”The

    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…?

    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.

    Bijdrager
    The JM
    ”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?

    Bijdrager
    DouweM
    ”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;)

    Bijdrager
    The JM
    ”DouweM”

    Door hem neer te zetten buiten het if-stukje;)

    Zou je me uit kunnen leggen hoe ik dat kan doen? Want als ik het probeer dan werkt of de foto-index niet meer of het weergeven van de foto.

    Bijdrager
    DouweM

    Als je even uitlegt wat je hier precies mee wilt bereiken, zal ik kijken of ik je kan helpen:
    [code:1:6205b8859b]if($view==$nummer)
    {
    echo ‘<img src="fotos/foto-‘ . $nummer . ‘.jpg">’;
    }[/code:1:6205b8859b]

    Bijdrager
    The JM

    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:)

    Bijdrager
    DouweM

    [code:1:7d07f2da27]<?php
    if(ctype_digit($view) AND $view >= 1 AND $view <= 24)
    {
    echo ‘<img src="fotos/foto-‘ . $view . ‘.jpg">’;
    }
    ?>[/code:1:7d07f2da27]
    Zou moeten werken.

    Heb je de andere error(s) al gefixed?

    Bijdrager
    The JM

    Super bedankt! Dat werkt perfect!

    Die andere errors heb ik nog niet gefixt, ik zou ook niet weten hoe, want ze worden ook helemaal niet aangeroepen of zo…

15 berichten aan het bekijken - 1 tot 15 (van in totaal 15)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.