redirection unique vers la meme page dans php

Petit nouveau ! | 7 Messages

27 avr. 2014, 15:20

bonsoir,
j'ai juste une petite question
prenons l'exemple d'une page monsite/index.php qui contient dans son code

Code : Tout sélectionner

<?php if( $_GET['register']==1){ include("register_form.php");} ?>
php renvoi une erreur disant que $_GET['register'] n'a pas été définit (normal) et en saisissant l'adresse du site il est redirigé vers la page index.php par défaut et non pas vers index.php?register=1

moi en l’occurrence dans ma page index.php j'ai deux liens qui redirigent vers la même page en rajoutant 2 paramètres et puis en fonction de leurs valeurs php va inclure un formulaire

Code : Tout sélectionner

<a href="index.php?register=1&login=0">register</a> <a href="index.php?register=0&login=1">login</a> <?php if( $_GET['register']==1 AND $_GET['login']==0){ include("includes/register_form.php");} if( $_GET['register']==0 AND $_GET['login']==1){ include("includes/login_form.php");} ?>
en accédant au site j'ai toujours deux erreurs ( undefined $_GET['register'] et $_GET['login']) et je dois rajouter manuellement les paramètres)
la seule solution que j'ai trouvé a part faire 2 pages séparées et de faire une redirection de la page mais peu importe comment je procède en essayant de faire une seule redirection conditionnelle le navigateur la bloque (apparemment un header qui possède une Location sur lui même n'est pas apprécié) sinon j'ai trouvé un code en javascript mais je ne veux pas mettre un code que je ne comprends pas

merci d'avance et bonne journée(fin de journée)

Eléphant du PHP | 422 Messages

27 avr. 2014, 16:03

Hello

Utilise la fonction isset() en plus dans ton if


if( isset($_GET[`param`]) and $_GET[`param`]==1)
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Petit nouveau ! | 7 Messages

27 avr. 2014, 16:34

Hello

Utilise la fonction isset() en plus dans ton if


if( isset($_GET[`param`]) and $_GET[`param`]==1)
j'ai deja essayé et la je viens de le refaire mais malheureusement ca donne toujours le meme resultat

Code : Tout sélectionner

if( $_GET['register']==1 AND $_GET['login']==0 AND isset($_GET['register']) AND isset($_GET['login']) ){ include("includes/register_form.php");} if( $_GET['register']==0 AND $_GET['login']==1 AND isset($_GET['register']) AND isset($_GET['login'])){ include("includes/login_form.php");} ?>