Ik ben vrij onervaren met PHP, ik begin het net een beetje te leren. Nou vond ik een script waarmee je foto's albums van Flickr via API op je website zou kunnen zetten in combinatie met lightbox.

Ik krijg deze error: Warning: Invalid argument supplied for foreach() in /home/***/domains/***/public_html/stream/index.php on line 28.

--

line 28:

<?php foreach ($photos['photo'] as $photo): ?>

--

hele script (index.php):

<!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"; lang="en">
<head>

<title>Stream</title>

<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />

<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/scriptaculous.js?load=effects,builder" type="text/javascript"></script>
<script src="js/lightbox.js" type="text/javascript"></script>

<style type="text/css">
body{ color: #333; font: 13px 'Lucida Grande', Verdana, sans-serif; }
</style>

</head>
<body>

<?php
require_once("phpFlickr.php");
$f = new phpFlickr("<de Flickr API key>");
$photoset_id = '<cijfers van set id>';
$photos = $f->photosets_getPhotos($photoset_id);
?>
<ul>
<?php foreach ($photos['photo'] as $photo): ?>
<li><a rel=”lightbox[roadtrip]” href=”<?= $f->buildPhotoURL($photo, ‘medium’) ?>” title=”<?= $photo['title'] ?>”><img src=”<?= $f->buildPhotoURL($photo, ’square’) ?>” alt=”<?= $photo['title'] ?>” title=”<?= $photo['title'] ?>” /></a></li>
<?php endforeach; ?>
</ul>

</body>
</html>

--
Hoe kan ik dit oplossen?
is: $photos['photo'] wel een array?
Moet je niet dit gebruiken?

$photos['photo'][]
Ik heb nu dit: <?php foreach ($photos['photo'] as $photo): ?>

voor dit: <?php foreach ($photos['photo'][] as $photo): ?>
vervangen, ik krijg alleen dan deze error:

Fatal error: Cannot use [] for reading in /home/***/domains/***/public_html/stream/index.php on line 28
wat zegt een var_dump() op $photos['photo']
Zo?

<?php var_dump($photos['photo'] as $photo): ?>

Parse error: syntax error, unexpected T_AS in /home/***/domains/***/public_html/stream/index.php on line 28
Moet je niet i.p.v. $photos['photo'] $photos gebruiken.
Zet eens boven die foreach

var_dump($photos);

wat geeft dat?
Daud Pechler op 09/09/2010 13:13:38

Zo?

<?php var_dump($photos['photo'] as $photo): ?>

Parse error: syntax error, unexpected T_AS in /home/***/domains/***/public_html/stream/index.php on line 28


Dat faalt op meerdere punten..
1: hoezo "as $photo" binnenin een var_dump() ?
2: Sinds wanneer sluit je een regel af met een dubbele punt?
Johan Dam op 09/09/2010 13:56:21

Zet eens boven die foreach

var_dump($photos);

wat geeft dat?


<?php
var_dump($photos);
foreach ($photos['photo'] as $photo);
?>

=

Parse error: syntax error, unexpected T_ENDFOREACH in /home/***/domains/***/public_html/stream/index.php on line 33
En als je het nou eens goed doet, zonder die for-each van een ; te voorzien
Comment die foreach desnoods gewoon weg.

Reageren