Problème de redirection avec IE 7 (vista)

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 : Problème de redirection avec IE 7 (vista)

par Truc » 01 nov. 2007, 13:23

Regarde le contenu de $_POST... tu devrais voir quelque chose du style connec_cellier_x Les coordonnées du clic sur le bouton image.

par auclairp » 31 oct. 2007, 21:37

Et que donne un print_r($_POST) ?

Et si tu utilises un bouton submit à la place de l'image ?

J'avais déjà eu un cas très bizare avec IE (le 6) où il m'envoyait bien tous les champs du formulaire ... sauf le premier ... jamais le premier quel qu'il soit ... j'avais fini par isolé le soucis et en fait c'était à cause du doctype que ce bug se produisait... si jamais ça peut t'aider...
Effectivement en remplacent le bouton image, par un bouton standard cela fonctionne, pourquoi es-ce que quel'qu'un peux m'aider, un bouton image est bien plus beau qu'un bouton standard ???

par Ryle » 31 oct. 2007, 11:09

Et que donne un print_r($_POST) ?

Et si tu utilises un bouton submit à la place de l'image ?

J'avais déjà eu un cas très bizare avec IE (le 6) où il m'envoyait bien tous les champs du formulaire ... sauf le premier ... jamais le premier quel qu'il soit ... j'avais fini par isolé le soucis et en fait c'était à cause du doctype que ce bug se produisait... si jamais ça peut t'aider...

par auclairp » 31 oct. 2007, 02:45

Bonjour,

Ajoute un exit(); juste après ta fonction header() pout t'assurer qu'aucun contenu n'est exécuté après la demande de redirection...
ha... non ca ne fonctionne toujours pas, mais de plus, j'ai tester en effectuant une erreur d'user/pass, et il ne me donne pas le message de mauvaise authentification.

Alors je suis aller sour FF, et la tout fonctionne, autant avec les bon user/pass qui me redirigent que avec les mauvais qui me donne une erreur.

Cela seble vraiment venir du IE, es-ce que quelqu'un y comprend quelque chose, y aurait-il une commande dans le code que IE ne comprend pas, on dirais qu'il ne traite même pas la requête.


J'ai modifier pour voir en mettant des ECHO pour voir s'il les étapes sont respecté, résultat FireFOX tout est nickel, pour IE rien ne fonctionne, il ne prend meme pas mon if (isset($_POST["connec_cellier"])) donc naturellement mon ECHO de TEST POST connec_cellier n'apparait pas. dans de code les deux seul écho qui apparait à tout coup sour IE sont:

TEST AUCUN POST RECONNUE
TEST AFFICHATE DE LA BASE DE LA PAGE


ce qui est normal lors de l'ouverture de la page mais plus lorsqu'il y a l,envoir de la requête.

if (isset($_POST["connec_cellier"]))
{
    echo  "TEST POST connec_cellier<br>";
	require("connec.php");			
	
    $pseudo = $_POST['pseudo'];
    $passe = $_POST['passe'];

    $existe = "SELECT * FROM membres WHERE pseudo='". $pseudo ."' AND passe='". $passe ."'";
    $existence = mysql_query($existe);
	if(mysql_num_rows($existence) == 1)
    {
	while ($donnees = mysql_fetch_array($existence) )
        {
		$_SESSION['proprio'] = $donnees['proprio'];
		$_SESSION['pseudo'] = $donnees['pseudo'];
		}
		//header('Location: ./cellier');
		echo  "TEST AUTHENTIFICATION RÉUSSIE<br>";
    }
    else
    {	
	$message = "<b>Erreur d'authentification<br>S.V.P. Ré-essayer</b>";
		echo  "TEST MAUVAIS AUTHENTIFICATION<br>";
	}
}
else
{  
echo  "TEST AUCUN POST RECONNUE<br>";
}
?>
Maudit IE

par @rthur » 30 oct. 2007, 10:48

Bonjour,

Ajoute un exit(); juste après ta fonction header() pout t'assurer qu'aucun contenu n'est exécuté après la demande de redirection...

Problème de redirection avec IE 7 (vista)

par auclairp » 30 oct. 2007, 07:38

Bonjour j'ai dans mon code une redirection PHP


Le problème est que sur FireFox aucun trouble elle fonctionne correctement, mais une fois que je teste avec IE VISTA, aucune action la redirection ne se fait pas, elle regénère la page actuelle

Voici ma fonction
header('Location: /cellier');
et aussi mon code au complet...
<?
session_start() ;

if (isset($_POST['connec_cellier']))
{
    require_once("connec.php");
    $pseudo = $_POST['pseudo'];
    $passe = $_POST['passe'];

    $existe = "SELECT * FROM membres WHERE pseudo='". $pseudo ."' AND passe='". $passe ."'";
    $existence = mysql_query($existe);
	if(mysql_num_rows($existence) == 1)
    {
	while ($donnees = mysql_fetch_array($existence) )
        {
		$_SESSION['proprio'] = $donnees['proprio'];
		$_SESSION['pseudo'] = $donnees['pseudo'];
		}
		header('Location: /cellier');

    }
    else
    {	
	$message = "<b>Erreur d'authentification<br>S.V.P. Ré-essayer</b>";
	}
}
else
{
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
	<title></title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<meta name="author" content="">
	<link rel="StyleSheet" type="text/css" href="index-home.css">
</head>
<body>
<div id="en_tete">
</div>



<form method="post" action="index.php">
  <legend><font color="#990000">Connection</font></legend>
  <table align="center" border="0" width="400" class="resultat">
  	<tr>
	  <td class="resultat" colspan="3"><?php echo ($message); ?></td>
	</tr>
    
    <tr>
      <td class="resultat"><input type="image" src="images/login.jpg" name="connec_cellier" value="Entrer"></td>
      <td class="resultat"><input type="text" name="pseudo" class="loginbox" value=""></td>
      <td class="resultat"><input type="password" name="passe" class="loginbox" value=""></td>
    </tr>
    <tr>
      <td class="resultat"><A HREF="#" onClick="window.open('passoublier.php','_blank','toolbar=0, location=0, directories=0, status=0, scrollbars=1, resizable=0, copyhistory=0, menuBar=0, width=575, height=300');return(false)"><img src="images/oublier.jpg" border="0" width="67" height="14" alt=""></A></td>
      <td class="resultat">Nom d'usager</td>
      <td class="resultat">Mot de passe</td>
    </tr>
	<tr>
      <td class="resultat"><A HREF="#" onClick="window.open('cellier/listedesvin_nologin.php?order=nom','_blank','toolbar=0, location=0, directories=0, status=0, scrollbars=1, resizable=0, copyhistory=0, menuBar=0, width=800, height=600');return(false)"><img src="images/liste.jpg" border="0" ></A></td>
      <td class="resultat"></td>
      <td class="resultat"></td>
    </tr>
  </table>
</form>


<div id="pied_de_page">
<?
include("pied.php");
?>
</div> 
</body>
</html>
Comprenez-vous pourquoi ca fonctionne avec un et pas avec l'autre, je suis oubliger de mettre un echo avec un lien pour passer à la page suivante.....

Merci