Met onderstaande code is het me als beginneling (na veel tips van anderen) toch gelukt om via de adresbalk het aantal zichtbare foto's op mijn webpagina te variëren.

<?php

$aantal = 2;
$photos = glob('img/*.jpg');

if (isset($_GET['aantal']))
{
$aantal = (int) $_GET['aantal'];
}

if (!is_int($aantal) || $aantal < 1 || $aantal > count($photos))
{
$aantal = count($photos);
}

for($getal = 1; $getal <= $aantal; $getal++)
{
echo '[ul]';
echo '[li][img src="img/photo' . $getal . '.jpg"][/li]';
echo '[/ul]';
}

?>

De code wordt middels een 'include('photos.php');' binnen een divje van de [main][/main] geplaatst.

In de adesbalk staat nu bijvoorbeeld:
localhost/album.php?aantal=5

En als ik in plaats van ?aantal=5 invul ?aantal=14, dan zie je niet 5 foto's, maar 14 foto's netjes geordend.

Nu wil ik mijn webpagina zowel Nederlandstalig als Franstalig hebben. Dus heb ik dit PHP-bestand bedacht.

<?php

$drapeaux = array
(
array
(
'href' => 'album.php?lang=fr',
'content' => '[img src="images_2/fr.png" title="fran&ccedil;ais"]',
'target' => '_self',
'seq' => 1,
),
array
(
'href' => 'album.php?lang=nl',
'content' => '[img src="images_2/nl.png" title="Nederlands"]',
'target' => '_self',
'seq' => 2,
),
);

echo '<ul>';
foreach ($drapeaux as $key => $value)
{
$class = '';
if ($value['href'] == basename($_SERVER['REQUEST_URI']))
{
$class = 'visited';
}
echo '[li][a class="' .$class. '" href="' .$value['href']. '" target="' .$value['target']. '"]' .$value['content']. '[/a][/li]';
}
echo '[/ul]';

?>

Deze code wordt via 'require_once('drapeaux.php');' binnen de header opgeroepen.

Als ik op een vlaggetje klik, dan komt er in de adresbalk bijvoorbeeld te staan:
localhost/album.php?lang=nl

In de adresbalk rechtstreeks of via het andere vlaggetje kan ik er van maken:
localhost/album.php?lang=fr

In de CSS heb ik volledige opacity gegeven aan het actieve vlaggetje en beduidend verminderde opacity aan het vlaggetje dat even niet meedoet.

Ik weet nog niet hoe ik in mijn code ook kan aangeven dat je effectief naar bijvoorbeeld het volgende adres gaat:
localhost/album/fr.php?lang=fr

Een bestand met de naam 'album/fr.php' wordt als ongeldig gezien wegens het slash-teken.
Dus als iemand een tip heeft om de taalparameter ?lang=... ook echt te koppelen aan een anderstalige pagina... ???

Beide $_GET parameters functioneren apart gebruikt zoals verwacht. Maar als ik ze in de adresbalk combineer, worden de vlaggetjes allebei transparant, terwijl de taal-parameter nog wel in de adresbalk staat:
localhost/album.php?lang=fr&aantal=4
of
localhost/album.php?aantal=4&lang=fr

De volgorde maakt dus niet uit. Alleen de parameter voor het aantal foto's blijft correct het gekozen aantal foto's tonen.

Mijn vraag is nu: hoe kan ik de codes zo aanpassen, dat er geen conflict meer tussen de $_GET parameters blijft bestaan? En dat dus ook bij het actieve vlaggetje de transparantie wegblijft.
re-Bonjour iedereen,
De voorbije weken heb ik in het buitenland vertoefd en dus geen aandacht meer kunnen geven aan het probleem van de meertaligheid. Inmiddels is mij ook duidelijk gemaakt dat ik nog eerst wat meer kennis moet opdoen wat betreft cookies en sessions. Voor dit moment laat ik de puzzel dus maar ven rusten om er eventueel later op terug te komen. Rest mij nu nog om jullie te bedanken voor het meedenken.
Dus : Merci Thomas, Frank, Ozzie en Ward voor jullie welwillende inspanningen om mij een stukje verder te helpen in het PHP-domein. Ook buiten dit specifieke vraagstuk zullen jullie adviezen mij zeker van nut zijn.
Deze topic mag nu worden gesloten, alleen weet ik niet hoe dat feitelijk moet. Dus als een moderator daar even naar wil kijken...
Au revoir,
Théo
Bedankt voor je terugkoppeling.
Het sluiten hoeft niet, want het topic zinkt toch wel omlaag. Mocht je er weer aan beginnen, dan kan je het topic zo weer opduiken.
Theo H op 13/11/2017 17:28:42

Rest mij nu nog om jullie te bedanken voor het meedenken.
Dus : Merci Thomas, Frank, Ozzie en Ward voor jullie welwillende inspanningen om mij een stukje verder te helpen in het PHP-domein.

Prettig om te zien dat er toch nog mensen zijn die even de moeite doen om een bedankje te plaatsen.

Graag gedaan Theo.


Dank je wel Theo. Ook een besluit dat ik kan toejuichen, Twee stappen achteruit, probleem analyseren en het probleem bij de wortels aanpakken en dan later drie stappen voorwaarts. Proficiat!

Reageren