xone Posté(e) le 14 janvier 2005 Posté(e) le 14 janvier 2005 bonjour aidez moi svp, je debute et j'ai un gros pb comment modifer ça pour que sa marche $page = $_GET['page']; if( file_exists('include/'$page.'.php') ) include ('include/'$page.'.php'; else include('include/acceuil.php');
Ago Posté(e) le 14 janvier 2005 Posté(e) le 14 janvier 2005 faut pas oublier les {} pour les if...then...else $page = $_GET['page']; if(file_exists('include/'$page.'.php')){ include ('include/'$page.'.php'; }else{ include('include/acceuil.php'); } ca devrait rouler mais si tu as le temps, va jeter un coup d'oeil à ce topic, http://www.pcinpact.com/forum/sujet_37221.htm , il donne pas mal de trucs pour etre sur que ton code est secure
xone Posté(e) le 14 janvier 2005 Auteur Posté(e) le 14 janvier 2005 sa marche toujours pas j'ai une erreur à Parse error: parse error, unexpected T_VARIABLE in c:\program files\easyphp1-7\www\max\index.php on line 35 c a d $page = $_GET['page']; je comprend plus rien pour le securiser, je suis pas encore la je cherche à le faire ùarcher correctement merci
Ago Posté(e) le 14 janvier 2005 Posté(e) le 14 janvier 2005 ca doit etre facile mais je trouve pas je suis en train de tester ca en local
Ago Posté(e) le 14 janvier 2005 Posté(e) le 14 janvier 2005 et voila ca devrait aller chez toi <? $test = $HTTP_GET_VARS['page']; if(file_exists('include/'.$test.'.php')) { include 'include/'.$test.'.php'; }else{ include 'include/acceuil.php'; } ?>
xone Posté(e) le 14 janvier 2005 Auteur Posté(e) le 14 janvier 2005 sincerement je dis bravo et dire que je chercher depuis deux jours (salleté de points)
xone Posté(e) le 14 janvier 2005 Auteur Posté(e) le 14 janvier 2005 si tu veux voir pour quoi c'est faire et bien sur ton avis et conseil seront les tres bien venu http://82@64@5@113/max/ biensur il faut remplacer les . par des @
Ago Posté(e) le 14 janvier 2005 Posté(e) le 14 janvier 2005 je l'avais pas vu tout de suite, mais apres ca flashe ... et puis je me suis embrouillé parce que tu as appelé ton repertoire include/ mis à part ca mais attention sur la page d'accueil Notice: Undefined index: page in c:\program files\easyphp1-7\www\max\index.php on line 34
xone Posté(e) le 14 janvier 2005 Auteur Posté(e) le 14 janvier 2005 la ligne 34 c'est $test = $HTTP_GET_VARS['page']; comment faire en faite c'est normal quand on ouvre la permier page ya pas de variable, alors comment faire pour lui dire d'ouvrir accueil des le debut sans chercher une variable ou ouvrir la page avec accueil comme variable ?
Ago Posté(e) le 14 janvier 2005 Posté(e) le 14 janvier 2005 avec un empty() <? if(!empty($HTTP_GET_VARS['page']) and file_exists('include/'.$HTTP_GET_VARS['page'].'.php')) { $test = $HTTP_GET_VARS['page']; include 'include/'.$test.'.php'; }else{ include 'include/acceuil.php'; } ?> je l'ai fait à l'arache donc je suis pas sur du résultat
xone Posté(e) le 14 janvier 2005 Auteur Posté(e) le 14 janvier 2005 je teste ça de suite sinon ta pas une idee du pourquoi sa marche pas echo "<li class=\"lib\"><a href=\"$forum\">Forum</a><br>";
xone Posté(e) le 14 janvier 2005 Auteur Posté(e) le 14 janvier 2005 sa serait pas plutot sa $test = $HTTP_GET_VARS['page']; if(!empty($HTTP_GET_VARS['page']); { include 'include/accueil.php'; }else {(file_exists('include/'.$test.'.php')) {include 'include/'.$test.'.php'; } par contre ya un pb à la ligne à la premiere ligne je pense que c'est un pb de {} que je sais pas encore bien mettre
njoyard Posté(e) le 14 janvier 2005 Posté(e) le 14 janvier 2005 non! le empty permet de verifier l'existence du parametre page. une fois que tu sais si il existe, tout roule... if (empty($HTTP_GET_VARS['page'])) { include 'include/accueil.php'; } else { $test = $HTTP_GET_VARS['page']; if (file_exists('include/' . $test . '.php')) { include 'include/' . $test . '.php'; } else { include 'include/accueil.php'; } } (probablement factorisables ces if) edit: factorisation: if (!empty($HTTP_GET_VARS['page']) && file_exists('include/' . ($test = $HTTP_GET_VARS['page']) . '.php')) { include 'include/'.$test.'.php'; } else { include 'include/accueil.php'; }
xone Posté(e) le 15 janvier 2005 Auteur Posté(e) le 15 janvier 2005 Je dis bravo kox sa a marché du premier coup allez l'histoire d'aller un peu plus loin je cherche comment éviter ça "http://jp/Max/?page=files/partenariats/tr" il existerait pas une fonction qui chercherait tous le fichier s'appelant "tr" dans le site ?
njoyard Posté(e) le 15 janvier 2005 Posté(e) le 15 janvier 2005 non mais je pense que tu peux le faire facilement a l'aide de la fonction opendir()
RaphAstronome Posté(e) le 15 janvier 2005 Posté(e) le 15 janvier 2005 allez l'histoire d'aller un peu plus loin je cherche comment éviter ça "http://jp/Max/?page=files/partenariats/tr" remplace $test = $HTTP_GET_VARS['page']; par $test = str_replace("/" , "" , $HTTP_GET_VARS['page']);$test = str_replace("\\" , "" , $HTTP_GET_VARS['page']);
ingeni Posté(e) le 16 janvier 2005 Posté(e) le 16 janvier 2005 Faites gaffe avec HTTP_GET_VARS... Pour des raisons de sécurité, il vaut mieux utiliser $_GET. Pour les autres variables, regardez ce tableau...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.