Luckyluk Posté 12 Avril 2005 Partager Posté 12 Avril 2005 Bonjour, les pages d'un de mes sites s'appellent de la manière suivante "http://www.site.com/index2.php?num=$1" je voudrais simplement tester si par exemple le fichier "1.php" existe si $num.php existe alors include ("$num.php"); else echo"hghghg"; etant faineant, je n'ai pas pris le temps d'ouvrir mon bouquin merci d'avance luc Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dash Posté 12 Avril 2005 Partager Posté 12 Avril 2005 pour simplement verifier si un fichier existe, il y a la fonction file_exists() tout simplement Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 12 Avril 2005 Partager Posté 12 Avril 2005 Salut Luc, C'est simple, mais il faut bétonner un peu ton code, parce que faire une inclusion sans vérifier l'argument est toujours dangereux. <?php $filename = '/path/to/'.$_GET[num].".php"; if (file_exists($filename)) { include($filename); } else { print "Le fichier $filename n'existe pas"; } ?> Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dash Posté 12 Avril 2005 Partager Posté 12 Avril 2005 En terme de securite je ferais surtout $filename = '/path/to/' . intval($_GET[num]) . '.php'; Pour eviter que "num" ne contiennent autre chose que ce qui est acceptable (=une valeur entiere) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Luckyluk Posté 12 Avril 2005 Auteur Partager Posté 12 Avril 2005 merci les gars! comme d'habitude...la solution est ici Lien vers le commentaire Partager sur d’autres sites More sharing options...
Luckyluk Posté 12 Avril 2005 Auteur Partager Posté 12 Avril 2005 encore une petite explication svp.. si je mets $filename = '/path/to/' . intval($_GET[num]) . '.php'; ou $filename = '/path/to/'.$_GET[num].".php"; ça ne marche pas, par contre si je mets çà: intval($_GET[num]) . '.php'; ça marche tres bien.... il doit y avoir une petite raison... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 12 Avril 2005 Partager Posté 12 Avril 2005 Une autre solution pour avoir un nombre entier, c'est de le multiplier par 1. Exemple : $num = $_GET['num']*1; Prends aussi l'habitude de mettre des guillemets autour des index, comme pour 'num'. Ca évite de le confondre avec les constantes. Nico. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 12 Avril 2005 Partager Posté 12 Avril 2005 encore une petite explication svp.. si je mets $filename = '/path/to/' . intval($_GET[num]) . '.php'; ou $filename = '/path/to/'.$_GET[num].".php"; ça ne marche pas, Il faut bien sûr remplacer /path/to par le chemin serveur vers ton fichier... Désolé mais j'aurais dû être plus explicite Donc dans le genre /home/tonsite/www/ .... cela dépend de ton hébergement. Dan Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant