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

  FORUM HardWare.fr
  Programmation
  PHP

  Redirection de page

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Redirection de page

n°1105000
fgiuliano
Posté le 02-06-2005 à 10:36:27  profilanswer
 

Bonjour à tous, j'aimerai effectuer une redirection de page lorsqu'un utilisateur entre son login et son mot de passe. Suivant les informations reçues, j'aimerai soit l'autoriser à entrer donc le rediriger sur une certaine page soit lui interdire l'accès et le rediriger sur la page enregistrement qu'il puisse essayer à nouveau.
J'ai essayer avec header mais ça redirige directement au chargement de la page alors que j'aimerai quand même accéder à mon formulaire d'enregistrement. Est-ce que quelqu'un pourrait me venir en aide?
Merci

mood
Publicité
Posté le 02-06-2005 à 10:36:27  profilanswer
 

n°1105034
onizuka_se​nsei
Posté le 02-06-2005 à 10:50:24  profilanswer
 

fgiuliano a écrit :

Bonjour à tous, j'aimerai effectuer une redirection de page lorsqu'un utilisateur entre son login et son mot de passe. Suivant les informations reçues, j'aimerai soit l'autoriser à entrer donc le rediriger sur une certaine page soit lui interdire l'accès et le rediriger sur la page enregistrement qu'il puisse essayer à nouveau.
J'ai essayer avec header mais ça redirige directement au chargement de la page alors que j'aimerai quand même accéder à mon formulaire d'enregistrement. Est-ce que quelqu'un pourrait me venir en aide?
Merci


la fonction header, tu l'appelles à quel moment?

n°1105050
fgiuliano
Posté le 02-06-2005 à 10:53:22  profilanswer
 

Au tout début de ma page, avant le code html

n°1105059
cesarr89
Posté le 02-06-2005 à 10:58:36  profilanswer
 

Tu as mis un test avant de faire le header ?

n°1105062
onizuka_se​nsei
Posté le 02-06-2005 à 10:59:28  profilanswer
 

fgiuliano a écrit :

Au tout début de ma page, avant le code html


hmm, ton code doit être de la forme:

Code :
  1. if login_is_correct($login,$pass) {
  2.     header("Location: ok.php" );
  3. }
  4. else {
  5.     header("Location: pasok.php" );
  6. }


 
quelque chose comme ça quoi


Message édité par onizuka_sensei le 02-06-2005 à 11:00:57
n°1105074
fgiuliano
Posté le 02-06-2005 à 11:06:37  profilanswer
 

En fait, en le faisant comme ça, l'erreur suivante s'affiche:
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\web2\accesprive.php:23) in c:\program files\easyphp1-8\www\web2\accesprive.php on line 40

n°1105079
cesarr89
Posté le 02-06-2005 à 11:07:10  profilanswer
 

Balance tout ton code

n°1105090
fgiuliano
Posté le 02-06-2005 à 11:13:59  profilanswer
 

Voilà la partie du test et de la redirection:
 
<?  
   error_reporting(E_ALL ^ E_NOTICE);
 
   if((($_POST["pass"] == "toto" ) and ($_POST["login"] == "Serge" ))  
   {
      header("Location: Etats.php" );  
   }
   else
   {
      header("Location: AccesPrive.php" );
   }
?>
 
Avant, il y a la connexion à ma base de donnée plus du code html normal et après du code html et la fermeture de ma connexion à ma base

n°1105093
cesarr89
Posté le 02-06-2005 à 11:15:31  profilanswer
 

fgiuliano a écrit :

Voilà la partie du test et de la redirection:
 
<?  
   error_reporting(E_ALL ^ E_NOTICE);
 
   if((($_POST["pass"] == "toto" ) and ($_POST["login"] == "Serge" ))  
   {
      header("Location: Etats.php" );  
   }
   else
   {
      header("Location: AccesPrive.php" );
   }
?>
 
Avant, il y a la connexion à ma base de donnée plus du code html normal et après du code html et la fermeture de ma connexion à ma base


 
Il faut rien avant un header.

n°1105103
onizuka_se​nsei
Posté le 02-06-2005 à 11:19:54  profilanswer
 

Sinon utilise le javascript pour la redirection, c'est moins contraignant...

Code :
  1. function redirection($url) {
  2.     echo "<script language=\"javascript\" type=\"text/javascript\">
  3.     window.location.replace($url);
  4.     </script>";
  5. }
  6. if((($_POST["pass"] == "toto" ) and ($_POST["login"] == "Serge" )) {
  7.    redirection("Etats.php" ); 
  8. }
  9. else {
  10.    redirection("AccesPrive.php" );
  11. }


une des solutions..


Message édité par onizuka_sensei le 02-06-2005 à 11:21:11
mood
Publicité
Posté le 02-06-2005 à 11:19:54  profilanswer
 

n°1105108
Killer_386
Posté le 02-06-2005 à 11:21:22  profilanswer
 

+1, le JavaScript est une bonne chose, mais sera-t-il activé chez le client ? :D


Message édité par Killer_386 le 02-06-2005 à 11:21:31
n°1105111
cesarr89
Posté le 02-06-2005 à 11:22:43  profilanswer
 

Mais y'a pas besoin de javascript

n°1105120
onizuka_se​nsei
Posté le 02-06-2005 à 11:27:29  profilanswer
 

cesarr89 a écrit :

Mais y'a pas besoin de javascript


j'ai bien dit "une des solutions" :D

n°1105130
cesarr89
Posté le 02-06-2005 à 11:30:24  profilanswer
 

onizuka_sensei a écrit :

j'ai bien dit "une des solutions" :D


 
 :jap:

n°1105133
Killer_386
Posté le 02-06-2005 à 11:31:31  profilanswer
 

Bon bah encore une autre des solutions :
 

Code :
  1. echo "Redirection manuelle dans un instant...<br /><br />";
  2. echo "<a href=\"page_de_redirection.php\">Aller vers la page redirigé manuellement</a>";


 

n°1105136
fgiuliano
Posté le 02-06-2005 à 11:32:31  profilanswer
 

cesarr89 a écrit :

Il faut rien avant un header.


 
ok, j'ai essayé alors de mettre mon code php au tout début de ma page.  
Alors là, pas d'erreur, j'arrive sur ma page AccesPrive.php et le formulaire
d'enregistrement s'affiche correctement.  
Par contre, il ne fait pas le test et revient sans cesse sur cette page.

n°1105138
cesarr89
Posté le 02-06-2005 à 11:33:25  profilanswer
 

Balance TOUT le code de la page

n°1105141
Killer_386
Posté le 02-06-2005 à 11:34:44  profilanswer
 

Et bah tu fais un test justement avant ton header.  
 

Code :
  1. if((($_POST["pass"] == "toto" ) and ($_POST["login"] == "Serge" )) {
  2.    header(location:"Etats.php" ); 
  3. }


 
ça marche aussi ;).

n°1105170
fgiuliano
Posté le 02-06-2005 à 11:50:37  profilanswer
 

Alors voilà tout le code. Si vous arrivez à comprendre qqch car même moi je suis j'y comprends plus rien.  
 

Spoiler :

<?
   $bd="TanALLData"; // identifiant dsn
   $user="root"; // login    
   $password=""; // password    
   $cnx = odbc_connect( $bd , $user, $password );
   if( ! $cnx ) echo "Impossible de se connecter";
?>
 
<?  
   error_reporting(E_ALL ^ E_NOTICE);  
 
   if(($_POST["pass"] == "toto" ) and ($_POST["login"] == "Serge" ))  
   {  
      header("Location: Etats.php" );  
   }  
   else  
   {  
      header("Location: AccesPrive.php" );  
   }  
?>
 
<html>
<head>
<title>Accès Privé</title>
</head>
 
<body bgcolor="#000000">
<div align="center">
  <center>
  <table border="0" width="85%" bgcolor="#FFFFCC" text="#000000" height="85%">
    <tr>
      <td width="100%">
        <div align="center">
          <center>
          <table border="0" width="500">
            <tr>
              <td valign="middle" align="center"><a href="file:///C|/Program%20Files/EasyPHP1-8/www/Index.php"><img src="file:///C|/Program%20Files/EasyPHP1-8/www/images/Accueil.gif" width="124" height="23" border="0"></a></td>
              <td valign="middle" align="center"><a href="Presentation.php"><img src="file:///C|/Program%20Files/EasyPHP1-8/www/images/Presentation.gif" width="124" height="23" border="0"></a></td>
              <td valign="middle" align="center"><a href="AccesPrive.php"><img src="file:///C|/Program%20Files/EasyPHP1-8/www/images/AccesPriveActif.gif" width="124" height="23" border="0"></a></td>
              <td valign="middle" align="center"><a href="Contact.php"><img src="file:///C|/Program%20Files/EasyPHP1-8/www/images/Contact.gif" width="124" height="23" border="0"></a></td>
            </tr>
   </table>
   <table cellspacing="40" bgcolor="#FFFFCC">
     <tr>
   <td>
    <form name="Utilisateurs" method="post">
       <div align = "center">
       <center>
       <table bgcolor="#FFFFCC">
           <tr>
              <td>Login</td>  
              <td><input type="text" name="login"></td>
           </tr>
           <tr>
              <td>Password</td>
              <td><input type="password" name="pass"></td>
              <td><input type="Submit" value="Entrer"></td>
           </tr>
      </table>
       </center>
       </div>
    </form>
   </td>
          </tr>
       </table></td>
 </tr>
      <tr>
         <td valign="middle" align="center" colspan="4" width="80%"><img border="0" src="file:///C|/Program%20Files/EasyPHP1-8/www/images/Copyright01.gif" width="148" height="15"><a href=mailto:fg@y-team.ch><img border="0" src="file:///C|/Program%20Files/EasyPHP1-8/www/images/Copyright02.gif" width="62" height="15"></a></td>
      </tr>
    </table>
    </center>
    </div>
    </td>
  </tr>
  </table>
 
<SCRIPT>document.Utilisateurs.login.focus();</SCRIPT>  
 
</body>
</html>
<?
odbc_close( $cnx); // ferme la connection
?>

n°1105178
cesarr89
Posté le 02-06-2005 à 11:56:13  profilanswer
 

Supprime les lignes vides.....on sais jamais

n°1105180
fgiuliano
Posté le 02-06-2005 à 11:58:20  profilanswer
 

cesarr89 a écrit :

Supprime les lignes vides.....on sais jamais


 
Ok, je vais essayer. Merci

n°1109183
fgiuliano
Posté le 06-06-2005 à 08:42:00  profilanswer
 

cesarr89 a écrit :

Supprime les lignes vides.....on sais jamais


 
Me revoilà au boulot après un long week-end...
Par contre, je n'ai toujours pas réussi à rediriger sur une autre page lorsqu'on entre le login et le mot de passe.
J'ai essayé d'enlever les lignes vides mais maintenant, ça ne charche plus la page AccesPrive.php... Il n'y a pas de message d'erreur, elle est en train de se charger mais n'arrive jamais au bout...

n°1109201
cesarr89
Posté le 06-06-2005 à 09:28:25  profilanswer
 

Ca viendrais pas de la connection à la BD ?
Tu as vraiment supprimer toutes les lignes vides?

n°1109278
fgiuliano
Posté le 06-06-2005 à 10:19:08  profilanswer
 

cesarr89 a écrit :

Ca viendrais pas de la connection à la BD ?
Tu as vraiment supprimer toutes les lignes vides?


J'ai fait une page simplifiée pour juste tester ce point là mais ça fait toujours la même chose.
Je mets le code:
[<?  
   if(($_POST["pass"] == "toto" ) and ($_POST["login"] == "Serge" ))  
   {  
      header("Location: Etats.php" );  
   }  
   else  
   {  
      header("Location: AccesPrive.php" );  
   }
?>
<?  
   $bd="TanALLData"; // identifiant dsn
   $user="root"; // login    
   $password=""; // password    
   $cnx = odbc_connect( $bd , $user, $password );
   if( ! $cnx ) echo "Impossible de se connecter";
?>
<html>
<head>
<title>Accès Privé</title>
</head>
<body bgcolor="#000000">
 <table cellspacing="40" bgcolor="#FFFFCC">
 <tr>
    <td>
       <form name="Utilisateurs" method="post">
          <div align = "center">
          <center>
       <table bgcolor="#FFFFCC">
                <tr>
              <td>Login</td>  
              <td><input type="text" name="login"></td>
         </tr>
         <tr>
                 <td>Password</td>
                 <td><input type="password" name="pass"></td>
                 <td><input type="Submit" value="Entrer"></td>
         </tr>
         </table>
          </center>
          </div>
       </form>
    </td>
        </tr>
<SCRIPT>document.Utilisateurs.login.focus();</SCRIPT>  
</body>
</html>
<?
odbc_close( $cnx); // ferme la connection]

n°1109315
fgiuliano
Posté le 06-06-2005 à 10:40:03  profilanswer
 

fgiuliano a écrit :


<?  
   if(($_POST["pass"] == "toto" ) and ($_POST["login"] == "Serge" ))  
   {  
      header("Location: Etats.php" );  
   }  
   else  
   {  
      header("Location: Index.php" );  
   }
?>


 
Alors en fait, j'ai testé de soit rediriger sur une autre page soit d'enlever tout simplement le else et dans ces deux cas, il n'y a plus de problème. En fait, c'est lorsqu'il devait recharger la même pas que ça lui posait problème.
Je ne comprends pas vraiment pourquoi mais pour le moment ça marche comme ça, alors je vais regarder par la suite la réponse à ce pourquoi.
Merci pour l'aide.

mood
Publicité
Posté le   profilanswer
 


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

  Redirection de page

 

Sujets relatifs
redirection sur la meme pageredirection de page
[RESOLU] redirection vers page + include[.htaccess] Redirection accès page en fonction des groupes ?
Redirection sur une page via un boutton ?chargement d'une page html dans un email html et redirection...
Petit probleme de redirection apres actualisation de la page.[résolu] Faire une redirection automatique sur la page précédente
faire une redirection d'une popup vers la page principale??,,Comment créer un lien ou une redirection vers une page asp...
Plus de sujets relatifs à : Redirection de page


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