Page 1 sur 1

erreur placez dans l'index

Posté : 11 août 2007, 00:05
par Nicost
Bonsoir a tous :D

J'en reviens a vous, après une multitude de test je n'arrive pas a placez une erreur sur mon index :cry:
J'essai de faire en sorte que s'il on ecris apres le : index.php?page=
ex : index.php?page=blabla
Cela renvoi directement sur une page d'erreur, ex erreur.php, au lieu que cela envoi sur ma page d'accueil.
J'ai beau placer avant $fichier = $rs[$_GET['r']]; rien a faire :shock:
Mon petit code :
$rs = array( 
   'index'  => 'index.php',
   'coursvideo' => 'page/test/index.php',
);
if ( (isset($_GET['page'])) && (array_key_exists($_GET['page'], $rs)) ) 
{ 
   $fichier = $rs[$_GET['page']]; 
} 
else 
{ 
   $fichier = 'page/accueil/index.php'; 
} 
include('./' . $fichier); 
?>
Merci de votre aide :oops:

Posté : 11 août 2007, 00:26
par Ryle
Pour le moment tu testes uniquement si la variable 'page' est passée en get, et s'il existe un index avec cette valeur dans ton tableau, sinon tu ouvres la page d'accueil.

L'idée serait donc de tester :

Code : Tout sélectionner

SI la variable 'page' est envoyée ET qu'il existe une correspondance dans le tableau -> on ouvre la page demandée SINON SI la variable 'page' est envoyée // et donc qu'il n'existe pas de correspondance, sans quoi on serait dans le si :) -> on ouvre une page d'erreur SINON // aucune variable 'page' envoyée -> on ouvre la page d'accueil par défaut

Posté : 11 août 2007, 09:56
par Nicost
Bonjour, merci pour ta réponse Ryle.
J'ai bien compris, mais en placent un unclude style : include ("erreur.php") ; avant $fichier = $rs[$_GET['page']]; , cela m'affiche mon erreur avec le reste du fichier, en faite je voi pas trop comment l'écrire, mais merci bon week :D

Posté : 11 août 2007, 10:30
par Ryle
Bah pourqoi ne pas tout simplement mettre dans $fichier le chemin de la page d'erreur ? ;)

Posté : 11 août 2007, 12:02
par Nicost
Re Ryle :D
Donc je place mon erreur comme ceci :
if ( (isset($_GET['page'])) && (array_key_exists($_GET['page'], $rs)) ) 
 
{ 
   $fichier = $rs[$_GET['page']]; 
} 
else 
{ 
   $fichier = 'erreur.php'; 
} 
include('./' . $fichier); 
Et j'appel mon accueil autrement dans l'index nan ?
Merci pour l'aide hi :oops:

Posté : 11 août 2007, 15:44
par Ryle
ben là ça va effectivement renvoyer sur ta page d'erreur si la page n'existe pas, mais également si aucune page n'est demandée (genre quand on arrive sur le site... c'est un peu dommage :))

Pourquoi ne pas faire un mélange entre tes deux codes pour gérer les 3 possibilités comme suggéré plus haut ? suffit d'utiliser un elseif ou d'imbriquer un nouveau if dans ton else :)

Posté : 11 août 2007, 19:36
par Nicost
Re Ryle, mais en faite je me demande si je vais pas changer totalement le code de l'index, car en effet je m'apercevoir que je commence a avoir beaucoup de page et qu'il faut que je les déclare dans l'index, une bonne sécu certe mais qui deviens limitement hard rock.
Y a pas un news systeme de code en protec dans le coin ?
Merci :oops: