Lentreprenaute Posté 27 Février 2004 Posté 27 Février 2004 Bonjour, je veux verifier l'existence de mes variables passé par l'url exemple : index.php?cat=xxx et faire les includes en fonction : si cat = (include _index.php) si site = (include _site.php) si voir = (include _voir.php) si aucune variable ou autre variable que celle ci-dessus et si les var site & voir sont mise "à la main : site=xxx& voir=xxx" toujours inclure _index.php Florent
Anonymus Posté 27 Février 2004 Posté 27 Février 2004 Bonjour, Pour vérifier l'existence d'une variable passée par url : $_POST. donc : if ($_POST['cat']==){//code pour cat } if ($_POST['site']==){ //code pour site } if ($_POST['voir']==){ //code pour voir } Attention, ce n'est pas pareil que : if ($_POST['cat']==){//code pour cat } elseif ($_POST['site']==){ //code pour site } elseif ($_POST['voir']==){ //code pour voir } else{ // code autrement. } Dans le premier cas, on teste toutes les variables. Dans le deuxieme, on teste la premiere, et si c'est pas bon, on teste la seconde, et si c'est pas bon on teste la troisieme,et si c'est pas bon, on fait le code par défaut. Pour toi, si j'ai bien compris, ca devrait donner : if ($_POST["site"]==...){// code pour site include("include_site.php"); } elseif ($_POST["voir"]){ //code pour voir include("include_voir.php"); } else{ // code dans le cas où site n'est pas bon, ET voir n'est pas bon. include("include_cat.php"); } Mais je ne suis pas sûr d'avoir compris Anonymus.
Lentreprenaute Posté 27 Février 2004 Auteur Posté 27 Février 2004 Salut anonymus, a partir deuxieme exemple $_POST['cat']==?? , je m'interroge, je n'ai pas besoin du "==" ? si je veux verifier l'existence de mes variables (est ce que je dois lui coller "==true") , j'ai corrigé l'exemple deux en les supprimant, dis moi si c'est bon comme ca! merci if ($_POST['cat']){//code pour cat}elseif ($_POST['site']){//code pour site}elseif ($_POST['voir']){//code pour voir}/*je verifie en cas de manip à la main pour eviter un plantage que si les variables sont associés je mets cat */elseif ($_POST['voir'] && $_POST['site'] ){//code pour cat}elseif ($_POST['cat'] && $_POST['site'] ){//code pour cat}elseif ($_POST['cat'] && $_POST['voir'] ){//code pour cat}else{// code pour cat} en gros le code pour cat est celui par defaut sauf si "voir & site" sont renseignés. Tu me comprends toujours Florent
Anonymus Posté 27 Février 2004 Posté 27 Février 2004 Prenons ceci : if ($_POST['cat']){//code pour cat } elseif ($_POST['site']){ //code pour site } elseif ($_POST['voir']){ //code pour voir } cela verifie d'abord cat. Donc, c'est pas bon. Il te faut d'abord vérifier site, puis voir (ou l'inverse), et SEULEMENT ENSUITE, tu verifies cat. Pour ton code, il est bon, sauf si la valeur de voir (par exemple, est FALSE. Autrement dit, quelqu'un qui rentre voir=false. Ca va interpreter la valeur comme fausse, et donc voir n'existera pas, alors qu'elle existe. Autre exemple (pour changer), si site=0, alors site egal quelque chose. On est d'accord. Pourtant, ca sera interprété comme faux, puisque php interprete le 0 comme le booleen. Donc, pour résumer, il te faudrait écrire : if ($_POST['voir']){//code pour voir } elseif ($_POST['site']){ //code pour site } else{ //code tous les AUTRES cas. Aussi bien cat qu'un autre. } Pour mieux faire, et pour prendre en compte les 2 remarques que j'ai faites plus haut, tu peux mettre : if (isset($_POST['voir'])){//code pour voir } elseif (isset($_POST['site'])){ //code pour site } else{ //code tous les AUTRES cas. Aussi bien cat qu'un autre. } Qu'on soit bien d'accord : - si voir existe, on execute le code de voir, et c'est tout. sinon : - si site existe, on execute le code de site, et c'est tout. sinon : - on execute le code standard. C'est ca ! ? on s'est compris ?
Lentreprenaute Posté 27 Février 2004 Auteur Posté 27 Février 2004 C'est ca et on s'est bien compris merci Anonymus
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant