Comment passer d une page a l autre selon le resultat ?

  • Auteur de la discussion umbreon
  • Date de début

umbreon

Expert
je m explike :

J ai une page de login qu on va appeler login.php, une page de verification ki s appelle verif.php, une page pour un resultat faux qu on va appeler verif_erreur.php et la page a lakel on doit acceder, index.php

on en arrive donc a ce schema :

login.php > verif.php > si faux > verif_erreur.php
si vrai > index.php

Comment arriver a faire charger la page (comme si on cliquait sur un lien) mais d une facon automatique selon le resultat ?

Merci de votre aide Umbreon
 

ffomnislash

Grand Maître
if(faux)
{
die('<META HTTP-equiv="refresh" content=0;URL=faux.php>')
; }
if(vrai)
{
die('<META HTTP-equiv="refresh" content=0;URL=vrai.php>')
; }
die(....) bloque le chargement du reste de la page
. donc si c'est "faux" le chargement de ta page s'arretera a :
die('<META HTTP-equiv="refresh" content=0;URL=faux.php>')

et dans content=? c'est le temp a attendre avant de rediriger.
 

lagouelle

Habitué
[:autre]
if(faux)
{
header("location:faux.php");
}
else
{
header("location:vrai.php");
}

//par contre il ne faut rien afficher avant de faire un header ,attention aux espaces et retour chariots
 

ffomnislash

Grand Maître
[citation=2848,1][nom]lagouelle a écrit[/nom][:autre]
if(faux)
{
header("location:faux.php");
}
else
{
header("location:vrai.php");
}

[g]//par contre il ne faut rien afficher avant de faire un header ,attention aux espaces et retour chariots[/g]
[/citation]

c'est pkoi ma technique est mieux :D
 

lagouelle

Habitué
[:aiua] j ai pas dis que mon code etait mieux , c est juste une autre facon de proceder
tout depend du traietement a effectuer en amont[:aiua]
 

ffomnislash

Grand Maître
[citation=2852,1][nom]lagouelle a écrit[/nom][:aiua] j ai pas dis que mon code etait mieux , c est juste une autre facon de proceder
tout depend du traietement a effectuer en amont[:aiua]
[/citation]

je sais bien que les 2 codes sont diff et un n'est pas forcement mieux que l'autre.

mais une question, dans quel cas le header sera mieux?
 

umbreon

Expert
erf,

mais ca doit avoir lieu dans les headers non ?

Si je veux passer un message avant, je epux pas plutot mettre un if else avec des echos, puisque si faux ou vrai est juste l autre sera ignore ?

if(vrai)
{

echo("<META HTTP-equiv=\"refresh\" content=0; URL=vrai.php>");

}
else
{
echo("<META HTTP-equiv=\"refresh\" content=0;URL=faux.php>");
}
 

ffomnislash

Grand Maître
oui l'autre sera ignoré ( y a aussi ifelse si y a plus de 2 choix)


ensuite tu a 2 solutions :
soit tu veut une redirection automatique apres apres x secondes pour que la personne ai le temp e lire le msg.
Dans ce cas tu peut faire :

if(vrai)
{
echo'le resultat est vrai';
echo("<META HTTP-equiv=\"refresh\" content=3; URL=vrai.php>");
}

Ici tu aura pendant 3 secondes le msg:"le resultat est vrai".
puis le visiteur sera automatiquement redirigé sur une autre page.

ensuite tu peut aussi faire :

if(vrai)
{
echo'le resultat est vrai';
echo'<a href="vrai.php">lien_vrai</a>';
}

la la redirection sera manuelle, lorsque le visiteur cliquera sur le lien.

ensuite a propos des if, else, ifelse
Dans le cas ou tu utilise
echo("<META HTTP-equiv=\"refresh\" content=3; URL=vrai.php>");
sa ne change rien, car le chargement de ta page s'arretera a <meta...>, le reste ne sera pas charger dont pas lu.


 

umbreon

Expert
Bon j ai essaye d ecrire un peu tout ca...voila mon resultat :

verif.php :
<?

//On demarre la session

session_start();

?>
<html>
<head>
<?

//Ici le user et le pass pour acceder a la page suivante

$user_log = "admin";
$pass_log = "1234";

//On prend les donnees de la page precedente

$_POST["user"] = $user ;
$_POST["pass"] = $pass ;

//On verifie si le user et le login est correcte

if ( ( $user == $user_log ) AND ( $pass == $pass_log ) ) {

echo("<META HTTP-equiv=\"refresh\" content=1; URL=index.php>");

//On enrengistre dans la session

$_SESSION["log"] = 1 ;

}

//Si faux, on le redirigera sur un autre page

elseif ( ( $user <> $user_log ) OR ( $pass <> $pass_log ) )

{

echo("<META HTTP-equiv=\"refresh\" content=1; URL=verif_faux.php>");

}

?>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#CCCCCC">
Verification des donn&eacute;es en cours...
</body>
</html>

Le probleme c est que le refresh se fait que sur verif.php. je m explike : J arrive sur cette page, et kan ca recharge, ca recharge la meme page sans passer a l autre, et ceci sans arret, ca fait une boucle kwa...

Je vois vraiment pas ou est l erreur...

merci de votre aide umbreon
 

lagouelle

Habitué
juste une question :

est ce que ton probleme c est pas juste de pouvoir s identifier pour pouvoir acceder a certaines pages????

car si c est le cas tu t embetera beaucoup mois avec un ".htaccess"
 

ffomnislash

Grand Maître
c'est pas
"$_POST["user"] = $user ;"
mais
"$user = $_POST["user"] ;"
qu'il faut mettre

autrement je vois pas du tt pkoi il rechargerais la page verif.php.
c'est strange :ouch: :D
 

lagouelle

Habitué
sinon tu peux toujours essayer ca :

<?

//On demarre la session

session_start();


//Ici le user et le pass pour acceder a la page suivante

$user_log = "admin";
$pass_log = "1234";

//On prend les donnees de la page precedente

$_POST["user"] = $user ;
$_POST["pass"] = $pass ;

//On verifie si le user et le login est correcte

if (($user==$user_log)&&($pass==$pass_log))
{
//On enrengistre dans la session

$_SESSION["log"] = 1 ;

header("location:index.php");
}

//Si faux, on le redirigera sur un autre page

elseif (($user!=$user_log )||($pass !=$pass_log))

{
header("location:verif_faux.php");
}

/****** a la place du elseif moi je mettrai

else
{
header("location:verif_faux.php");
}

******/

?>
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 132
Messages
6 718 037
Membres
1 586 389
Dernier membre
ROCKET8
Partager cette page
Haut