Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1519 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  redirection en PHP, question facile ...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

redirection en PHP, question facile ...

n°289030
jibet
Posté le 18-01-2003 à 17:10:33  profilanswer
 

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

mood
Publicité
Posté le 18-01-2003 à 17:10:33  profilanswer
 

n°289033
slvn
Posté le 18-01-2003 à 17:15:49  profilanswer
 

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...

n°289034
slvn
Posté le 18-01-2003 à 17:16:20  profilanswer
 

avec les "location :" que j'ai oublié...

n°289035
jibet
Posté le 18-01-2003 à 17:22:10  profilanswer
 

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

n°289037
slvn
Posté le 18-01-2003 à 17:30:41  profilanswer
 

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:)

n°289039
jibet
Posté le 18-01-2003 à 17:35:26  profilanswer
 

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 ??

n°289052
slvn
Posté le 18-01-2003 à 17:51:17  profilanswer
 

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(....);
?>

n°289066
jibet
Posté le 18-01-2003 à 18:00:57  profilanswer
 

Slvn a écrit :

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(....);
?>
 


 
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.

n°289074
slvn
Posté le 18-01-2003 à 18:11:56  profilanswer
 

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...

n°289082
Profil sup​primé
Posté le 18-01-2003 à 18:20:22  answer
 

Slvn a écrit :

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...

:jap:

mood
Publicité
Posté le 18-01-2003 à 18:20:22  profilanswer
 

n°289109
jibet
Posté le 18-01-2003 à 18:44:47  profilanswer
 

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

n°289117
slvn
Posté le 18-01-2003 à 18:52:53  profilanswer
 

.... t pas tres perseverant:)

n°289121
jibet
Posté le 18-01-2003 à 18:58:28  profilanswer
 

bah non ... mais là quand même ça aurait du marcher  :cry: alors ... peut-etre qu'un autre jour ça marchera ! :sol:

n°289154
Profil sup​primé
Posté le 18-01-2003 à 20:15:50  answer
 

Code :
  1. <?php
  2. if ($mdp == "MOTDEPASSE" )
  3. {
  4. header("Location: autogallery.php" );
  5. exit;
  6. }
  7. else
  8. {
  9. header("Location: index.php" );
  10. exit;
  11. }
  12. ?>

la si tu n'a rien avant les <? et rien arpes le ?> ca doit tout a fait marcher
 
persevere un peu :)

n°289255
jibet
Posté le 18-01-2003 à 22:11:34  profilanswer
 

eh bien voila, la magie de l'informatique a oeuvré ... maintenant ça marche ... :??::lol:

n°289305
slvn
Posté le 19-01-2003 à 00:16:50  profilanswer
 

c la "cache" de IE je pense ...

n°289307
Profil sup​primé
Posté le 19-01-2003 à 00:17:12  answer
 

Slvn a écrit :

c la "cache" de IE je pense ...

oui j'allais le dire


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  redirection en PHP, question facile ...

 

Sujets relatifs
[PHP/MYSQL] le max d'un varchar spossible[MySQL] Question sur un Rand MySQL
[PHP] Register Globals sur Oxyd?![PHP][ORACLE] les connexions persistantes, comment ça marche?
[TOPIC UNIQUE] PHP-GTK Des applications graphiques en PHPAppli PHP sur CD ROM ?
[Access] Besoin d'aide Urgente : Rapide et facile pour un connaisseurquestion concernant Eclipse et windows NT
Comparaison de tableau en PHPSQL Question simple...
Plus de sujets relatifs à : redirection en PHP, question facile ...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR