Redirection de page incorrecte

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Redirection de page incorrecte

par Sékiltoyai » 13 juin 2008, 14:37

Et plutôt que d'utiliser des chaines de caractère lorsque tu veux stocker une valeur booléenne, les booléens false et true existent…

par Vurtu » 13 juin 2008, 13:38

A tout hazard, essais ce code :
<?
session_start();
if ( !isset($_SESSION['auth']) || $_SESSION['auth'] !="yes" )
{
  header("location: erreur.php");
  exit();
}
?>
En règle générale, il faut éviter d'utiliser @ qui sert à masquer les erreurs
Si c'est bien codé, il n'y a pas d'erreurs, donc inutile de les masquer :)

par toshiro92 » 13 juin 2008, 13:07

Merci pour ta réponse, en effet j'ai changé la page à rediriger, et tout refonctionne.

Par contre, pour protéger mes pages, j'ai mis le code suivant:
<?
session_start();
if (@$_SESSION['auth'] !="yes")
{
  header("location: erreur.php");
  exit();
}
?>
Mais la page est toujours redirigé, est ce que je me suis trompé pour ouvrir une session ?

par Vurtu » 13 juin 2008, 12:20

Aprioris, c'est un problème de redirection infinie
(une page qui redirige vers elle même, ou alors index redirige vers index2, qui redirige vers index ... en boucle)

Redirection de page incorrecte

par toshiro92 » 13 juin 2008, 12:18

Bonjour,

j'ai un problème assez étrange, j'ai une page d'authentification en php, avec redirection en cas d'erreur, et je tombe sur cette page quand je clique sur connexion:

Image

voici ma page index.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
body {
	background-image: url(img/fondindex.jpg);
	background-position:inherit;
	background-repeat:no-repeat;
	background-attachment:fixed;
}
-->
</style></head>

<body>
  <p><span class="Style4"><?php if (isset($msg_erreur)){ echo $msg_erreur; } ?></span></p>
  <form id="form1" name="form1" method="post" action="verif.php">
  <table width="347" border="0">
    <tr>
      <td width="146" class="Style1">Nom d'utilisateur :</td>
      <td width="191">
        <label>
          <input name="psd" type="text" class="style33" id="psd" size="30" maxlength="20" />
          </label>      </td>
    </tr>
    <tr>
      <td class="Style1">Mot de passe :</td>
      <td><label>
        <input name="mdp" type="password" class="style33" id="mdp" value="" size="30" maxlength="20"  />
      </label></td>
    </tr>
    <tr>
      <td colspan="2"><div align="center">
        <label>
        <input name="button" type="submit" class="Style2" id="button" value="Connexion" />
        </label>
      </div></td>
      </tr>
  </table>
  </form>
  <p>&nbsp;</p>
</div>
</body>
</html>
et la page verif .php:
<?php
session_start();
include "connexion.php";

$psd=$_POST["psd"];
$mdp=$_POST["mdp"];
$mdp=sha1($mdp);
$requete= "select user_name from identification where user_name='$psd'";
  $resultat=mysql_query($requete,$connexion)
  			or die("La requête à echoué");
  $num= mysql_num_rows($resultat);
   if($num==1)
   {
      $requete= "select user_name from identification where user_name='$_POST[psd]' 
	  			 AND password='$mdp'";
$resultat2=mysql_query($requete,$connexion)
  			or die("La requête 2 à echoué");
$row=mysql_fetch_assoc($resultat2);
 if($row)
 {
   $_SESSION['auth']="yes";
   header("location: index2.php");
 }
 else
  {
    $message_erreur="Le nom d'utilisateur existe, mais le mot de passe est incorrect ! Réessayez. <br>";
	extract($_POST);
	include("index.php");
  }
  }
  elseif ($num == 0)  //utilisateur introuvable
  {
    $message_erreur=" le nom d'utilisateur rentré n'existe pas ! Réessayez. <br>";
	include("index.php");
  }
?>
Quel est le problème ? Je ne bloque pourtant pas les cookies et je ne devrais pas en avoir besoin non ?