demande aide pour fonction GET débutant

Choncha
Invité n'ayant pas de compte PHPfrance

09 juin 2011, 22:02

Bonjour,

Je travaille à concevoir une vitrine de photo.

Ma page index.php appelle, avec un include, un autre fichier html.

J'ai plusieurs dossiers nommés kwicks$suffixe. La variable suffixe s'incrémente automatique en fonction du nombre de dossier détectés.

C'est cette partie du script :

Code : Tout sélectionner

<?php if ($handle = opendir('slides')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { if (! isset($suffixe)) { $suffixe = 1; } else { $suffixe += 1; } echo "<a href='index.php?lien=page$suffixe'>page$suffixe</a>"; } } closedir($handle); } ?>
Jusque là tout va bien, le script me génère une liste de liens "page1" "page2" etc.

C'est lors de l'appelle des include que j'ai un problème. Je suis obligé de rentrer manuellement toutes les possibilités d'appel avec ces lignes :

Code : Tout sélectionner

<?php if ($_GET["lien"]=="page1") { include ("./slides/kwicks/index.html"); } if($_GET["lien"]=="page2") { include ("./slides/kwicks1/index.html"); } ?>
Je souhaiterais avoir un script qui automatise la gestion des include en fonction des dossiers détectés précédement...

Je vous remercie de bien vouloir me donner conseil !

Chon

Choncha
Invité n'ayant pas de compte PHPfrance

09 juin 2011, 22:02

Et désolé pour la mise en forme pourrie du code... :oops:

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

09 juin 2011, 22:58

salut,

tu peux simplement tester si le fichier existe, par exemple if (file_exists($_GET['page'])). http://www.php.net/manual/fr/function.file-exists.php

Bon la ce n'est pas sécurisé le mieux c'est vérifier que le nom de fichier correspond bien au motif que tu attend ,si par exemple c'est toujours pagexx avec preg_match et une expression régulière "simple" permet d'éviter que l'on inclus le fichier conf ou quoi que ce soit d'autre ;)


@+
Il en faut peu pour être heureux ......

choncha
Invité n'ayant pas de compte PHPfrance

10 juin 2011, 00:56

Ca marche ! merci de vos conseils...

Petit nouveau ! | 2 Messages

10 juin 2011, 00:58

Par contre je ne trouve pas le liens pour mettre résolu à mon post...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

10 juin 2011, 01:01

coche verte sur le message qui t'a aidé le plus ^^

@+
Il en faut peu pour être heureux ......

ViPHP
AB
ViPHP | 5818 Messages

10 juin 2011, 01:20

Par contre je ne trouve pas le liens pour mettre résolu à mon post...
Le bp est que pour pouvoir faire ce qu'a dit moogli, il faut que tu soit inscrit :wink: