redirection vers une page

DamienDD
Invité n'ayant pas de compte PHPfrance

05 juil. 2008, 14:08

Bonjour, voila j'ai un soucis avec mon code. En fait j'ai deux pages php (index.php et authentif.php), quand je veux aller sur ces pages, le navigateur se balade entre les deux et n'en finit plus. Alors qu'il devrai rester sur authentif.php. Voici d'abord le code de index.php:

Code : Tout sélectionner

<?php session_start(); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Imprimerie Castel</title> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="imagetoolbar" content="no"> <script> if(self!=top)top.location=self.location; top.window.moveTo(0,0); if (document.all) { top.window.resizeTo(screen.availWidth,screen.availHeight); } else if (document.layers||document.getElementById) { if (top.window.outerHeight<screen.availHeight||top.window.outerWidth<screen.availWidth){ top.window.outerHeight = screen.availHeight; top.window.outerWidth = screen.availWidth; } } </script> </head> <body> <script>window.location='authentif.php'</script> </body> </html>

ensuite voila le code de authentif.php:

Code : Tout sélectionner

<?php ob_start("ob_gzhandler"); if(!($PHPSESSID)) {echo"<script>window.location.href='./index.php'</script>";} else {session_start(); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Imprimerie Castel</title> <link rel="stylesheet" type="text/css" href="reuze.css"> <script type="text/javascript" src="config.js"></script> </head> <body> <table style="width:100%;height:80px;background-color:#ffffff;border-width:0 0 1px 0;border-style:solid;border-color:#4444FF;" cellspacing="0" cellpadding="0"> <tr> <td width="500" align="center" valign="bottom"><img src="./images/logotitre.gif"></td> <td>&nbsp;</td> </tr> </table> <center> <h2>Authentification</h2> <br><br> <form method="post" action="authentif2.php"> veuillez saisir votre mot de passe : <input type="password" name="login" size="30" maxlength="30"> <input type="submit" value="valider"> </form> </center> </body> </html> <?php } ?>

A mon avis le problème se situe au niveau de windows.location, mais je ne suis pas sur?Merci d'avance

Mammouth du PHP | 1668 Messages

05 juil. 2008, 14:26

Bah, pourquoi tu redirige s'il ne s'est pas logué, tu ne risque pas de le voir logué, puisque, selon ton code, tu le logue uniquement s'il est déjà logué
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

DamienDD
Invité n'ayant pas de compte PHPfrance

05 juil. 2008, 14:33

En fait ce code je l'ai pri déja sur un pc, et il marche très bien la ba, mais sur le mien il ne marche pas du tout

Eléphant du PHP | 99 Messages

05 juil. 2008, 21:04

Bonsoir,

Déjà dans ta page index.php :

Code : Tout sélectionner

<script>window.location='authentif.php'</script>
Tu as ceci qui redirige vers la page authentif.php, celà semble correct.

Par contre dans ta page authentif.php tu as :

Code : Tout sélectionner

if(!($PHPSESSID)) {echo"<script>window.location.href='./index.php'</script>";}
ça veut dire que si la variable est différent de $PHPSESSID alors ça redirige sur la page index.php .

Le problème semble venir de là.

En outre je ne vois aucune variable $PHPSESSID déclaré ...

Donc il est normal que les redirections ne cesse de s'effectuer puisque la personne ne sera jamais logué :)

Mammouth du PHP | 1668 Messages

05 juil. 2008, 21:10

C'est étonnant que ça est marché squr un autre PC...

PS : Ca sent le déjà vu non ? :roll:
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

Invité
Invité n'ayant pas de compte PHPfrance

05 juil. 2008, 21:11

tu a raison il n'y a pas la variable $PHPSESSID de déclarér, et quand j'enlève cette ligne sa marche, mais il me la faut absoluement, je la déclare où? Merci

Mammouth du PHP | 1668 Messages

05 juil. 2008, 21:23

Après session_start(), mais tu as fais un script dur a comprendre...
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

DamienDD
Invité n'ayant pas de compte PHPfrance

05 juil. 2008, 22:03

je l'ai mit après session_start() dans mon index.php, mais toujours le meme problème

Eléphant du PHP | 99 Messages

05 juil. 2008, 22:40

Tes deux pages sont bizard je n'aurais pas fait comme celà mais pour répondre ou mettre la déclaration de la variable tu la mets dans la page index en dessous de
<?php session_start(); ?> 
tu mets ceci :
$_SESSION['PHPSESSID'] = $PHPSESSID;
Cdt.

DamienDD
Invité n'ayant pas de compte PHPfrance

05 juil. 2008, 23:25

Sa ne marche toujours pas avec ceci dans mon index:

Code : Tout sélectionner

<?php session_start(); $_SESSION['PHPSESSID'] = $PHPSESSID; ?>

le navigateur navigue toujours entre les deux pages sans arrêter.

Eléphant du PHP | 99 Messages

06 juil. 2008, 11:30

Salut,

Ben disons que déjà tes deux pages ne sont pas trop compréhensible.

De plus ta variable $PHPSESSID elle te sert à quoi ?

tu la récupère dans quelle page, dans la page authentif2.php non ?

Si c'est le cas tu n'as pas besoin de faire tout celà :

index.php

Code : Tout sélectionner

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Imprimerie Castel</title> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="imagetoolbar" content="no"> <script> if(self!=top)top.location=self.location; top.window.moveTo(0,0); if (document.all) { top.window.resizeTo(screen.availWidth,screen.availHeight); } else if (document.layers||document.getElementById) { if (top.window.outerHeight<screen.availHeight||top.window.outerWidth<screen.availWidth){ top.window.outerHeight = screen.availHeight; top.window.outerWidth = screen.availWidth; } } </script> </head> <body> <script>window.location='authentif.php'</script> </body> </html>
authentif.php
<?php
ob_start("ob_gzhandler");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Imprimerie Castel</title>
<link rel="stylesheet" type="text/css" href="reuze.css">
<script type="text/javascript" src="config.js"></script>
</head>
<body>
<table style="width:100%;height:80px;background-color:#ffffff;border-width:0 0 1px 0;border-style:solid;border-color:#4444FF;" cellspacing="0" cellpadding="0">
 <tr>
  <td width="500" align="center" valign="bottom"><img src="./images/logotitre.gif"></td>
  <td>&nbsp;</td>
 </tr>
</table>
<center>
<h2>Authentification</h2>
<br><br>
<form method="post" action="authentif2.php">
veuillez saisir votre mot de passe : <input type="password" name="login" size="30" maxlength="30"> <input type="submit" value="valider">
</form>
</center>
</body>
</html>
Après moi j'aurais fais une vérification voir si le mot de passe est bon ou non.
Genre, si le mot de passe est bon alors tu ouvres la session, sinon tu rediriges dans la page authentif.php .