redirection en PHP, question facile ... - PHP - Programmation
Marsh Posté le 18-01-2003 à 17:15:49
faut pas mettre le echo "pas ok" 
 
et faire plutot : header( "erreur.php" ) 
 
 
ou si tu veux renvoyer sur la meem page : 
header( index.php?erreur=1 ) et traiter la variable...
Marsh Posté le 18-01-2003 à 17:22:10
ben meme sans le "echo pas OK" ça marche pas, justement, je comprends pas pourquoi ... ça ne marche déjà pas dans le IF ... qui ne contient pas de ligne supplementaire que 
 
"header("location: autogallery.php" ); " 
 
j'ai toujours le meme message d'erreur
Marsh Posté le 18-01-2003 à 17:30:41
quand tu utilise header il ne faut avoir ecris aucun charactere avant,  
donc deja le echo tu peux etre sur qu'il faut le virer. 
 
ensuite, tu dois avoir des char qq part 
 
regarde si tu as pas tu texte avant ton script  
 
du genre: 
 
debut fichier| <? heard( .....) ?>   
 
ca foirerait car au debut y un char espace ' ' 
 
 
..... en fait, d'apres ce que tu me dit, j'ai peur que tu ai mal utilisé la fonction header, et que ce bout de script ce trouve dans un page enorme donc il va surement falloir que tu change la structure de ton site
 donc il va surement falloir que tu change la structure de ton site
Marsh Posté le 18-01-2003 à 17:35:26
ben c'est exactement ça, en fait voici la page entiere : 
 
<html> 
<head> 
       <title>test</title> 
 </head> 
<body> 
 
 
<?php 
 	$mdp; 
              if ($mdp == "MOTDEPASSE" ) { 
                  header( "location : autogallery.php" ); 
                   } 
                else { 
                  header( "location : index.php" ); 
                   exit; 
                 } 
 ?> 
</body> 
</html> 
 
Il faudrait que ce soit comment alors ??
Marsh Posté le 18-01-2003 à 17:51:17
spa du tout ce qu'il faut faire 
 
 
 
si tu veux pouvoir rediriger le visiteur suivant son login faut faire : 
 
1/ 
index.php: 
ton "form" de d&part est du type : "action=LoginCheck.php" 
 
2/ 
LoginCheck.php: 
<? 
 if( test( $login,$pass) ) 
      header(....); 
  else  
       hearder(....); 
?> 
Marsh Posté le 18-01-2003 à 18:00:57
| Slvn a écrit : spa du tout ce qu'il faut faire | 
 
 
1/ OK, c'est bien ça, avec une methode POST 
 
2/ je le place comment ce code ? 
avec un <head> et un <body> ? ou comme ça, sans rien ? 
 
j'ai mis ça : 
 
<? 
$mdp; 
if( $mdp == "MOTDEPASSE" ) 
header( "location : autogallery.php" ); 
 else 
header( "location : index.php" ); 
?> 
 
sans rien de plus ... ça marche pas. Je n'ai plus de message d'erreur, mais je suis renvoyé sur rien. Page blanche.
Marsh Posté le 18-01-2003 à 18:11:56
faut le mettre sans rien en effet, 
 
normallement tu es bien redirigé. 
peut etre que c "location" avec un L majuscules .. 
peut etre que ta page d arrivé est vierge ?! 
peut etre que tu t es planté dans le nom de la page 
 
ps: a chaque fois que ut fait un "header Location" il est recommandé de placer un "exit()" juste après...
Marsh Posté le 18-01-2003 à 18:20:22
| Slvn a écrit : faut le mettre sans rien en effet,  | 
  
 
Marsh Posté le 18-01-2003 à 18:44:47
bon ben toujours pas ... je ne comprends pas. Je m'y remettrais plus tard, pour le moment, j'ai trouvé une parade simple, mais peu élégante !!  
 
<? 
$mdp; 
if( $mdp == "MOTDEPASSE" ) 
{ 
    echo ?><a href="autogallery.php">cliquez ici</a> 
 
<?} 
else 
{ 
    echo ?><a href="index.php">cliquez ici</a> 
 
<?}?> 
 
et on verra plus tard !! 
 
merci de votre aide en tous cas ! 
 
a+ 
 
jibet
Marsh Posté le 18-01-2003 à 18:58:28
bah non ... mais là quand même ça aurait du marcher   alors ... peut-etre qu'un autre jour ça marchera !
 alors ... peut-etre qu'un autre jour ça marchera ! 
Marsh Posté le 18-01-2003 à 20:15:50
| Code : 
 | 
la si tu n'a rien avant les <? et rien arpes le ?> ca doit tout a fait marcher 
 
persevere un peu 
Marsh Posté le 18-01-2003 à 22:11:34
eh bien voila, la magie de l'informatique a oeuvré ... maintenant ça marche ...  :lol:
:lol:
Marsh Posté le 19-01-2003 à 00:17:12
Reply
Marsh Posté le 18-01-2003 à 17:10:33
Salut,
Voila, je cherche a rediriger une page vers une autre en fonction du mot de passe rentré.
J'ai cherché un peu sur le web et j'ai trouvé la commande suivante :
header("location: mapage.php" );
Je l'ai donc integré dans mon script qui est le suivant :
<?php
$mdp;
if ($mdp == "MOTDEPASSE" ) {
header("location: autogallery.php" );
}
else {
echo "pas OK";
header("location: index.php" );
}
?>
eh ben ca marche pas, en local ça me donne le message suivant :
Warning: Cannot add header information - headers already sent by ... etc
qu'est-ce qui ne va pas ??
a+
jibet