Connection espace membre qui marche sur FF pas IE

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 : Connection espace membre qui marche sur FF pas IE

par analfabete » 28 nov. 2006, 13:39

Um daccord !
J'ai trouver la solution: me servir de isset($_POST) au départ, sa marche nickel et sa allège le code
Merci

par zeus » 28 nov. 2006, 13:35

Quand tu remplaces le input type submit par un input type image, tu envoi la position de la souris sur l'image plutot que le nom du input

C'est tout ;)

par analfabete » 28 nov. 2006, 13:21

Arf je recherche un tutorial sur les formulaires en php car je ne comprend pas à quoi correspond envoyer_x et envoyer_y :?

par zeus » 28 nov. 2006, 13:10

Et tu ne vois pas l'erreur ? ;)

Que va-t-il en être du test sur l'existence de $_POST['envoyer'] ?


Je pense qu'il faut donc modifier le test de vérification de soumission du formulaire en vérifiant la présence de $_POST['envoyer_x'] et $_POST['envoyer_y'] plutot que $_POST['envoyer'] ;)

par analfabete » 28 nov. 2006, 13:08

deja le nouveau code ne marche plus j'y omprend rien: lorsque mon utilisateur clique sur envoyer le isse($_POST[envoyer] ) devrait repondre true

par analfabete » 28 nov. 2006, 13:05

Oui voila ce que j'obtiens sur Firefox:
Array ( [login] => analfabete [pwd] => a1ac3agc [envoyer_x] => 45 [envoyer_y] => 11 [envoyer] => Envoyer )
et sous IE:
Array ( [login] => analfabete [pwd] => a1ac3agc [envoyer_x] => 31 [envoyer_y] => 9 ) 

par zeus » 28 nov. 2006, 13:00

Si, au sommet de ton script, tu fait
print_r($_POST)
, tu obtients des différences entre IE et FF ?

par analfabete » 28 nov. 2006, 12:54

Cela devient vraiment enigmatique, j'ai nettoyer les variable qui ne servait a rien et j'ai reduit un peu le code de facon que celui marche toujours sur firefox--> erreur ou connection, cependant celui-ci ne marche pas sur IE, c'est un vrai casse tête
Voilà mon code et celui du formulaire qui se trouve sur la meme page :
<?php
if (isset($_POST['envoyer']))
{
    if ( isset($_POST['login']) && isset($_POST['pwd']) ) 
	{
		include('../script/connect_db.php');
		$sql = 'SELECT idmembre,login,pwd_md5,actif FROM membre WHERE login=\''.htmlentities($_POST['login']).'\' AND pwd_md5=\''.md5($_POST['pwd']).'\'';
		$req = mysql_query($sql);
		mysql_close();
		$res = mysql_fetch_array($req);
   		$res_1=mysql_num_rows($req);

        if ($res_1 == 1) 
		{	
			if( $res['actif'] == 0 )
			{
				$erreur = '<p1>Votre compte n\'est pas encore activer<br></p1>';
			}
			
			else
			{
				/*if (isset($_POST['connection_auto']) && $_POST['connection_auto'] == 'on')
            	{
                  	$expire = time() + 3600 * 24 * 365;
					setcookie('pseudo', $_POST['login'], $expire);
                   	setcookie('mot_passe', md5($_POST['pwd']), $expire);
                 }	
				
            	$_SESSION['login'] = $res['login'];
				$_SESSION['idmembre'] = $res['idmembre'];*/
            	header('Location: index.php');
            	
			}
		}
		
		else 	
		{
    		$erreur = '<p1>Pseudo ou mot de pass incorrect<br></p1>';
    	}
    }
}
et le formulaire:
 <?php echo $erreur;?>
          <form action="connection.php" method="post">
            <p>
              <label>Pseudo</label>
              <input name="login" type="text" class="textfield" value="" size="16" maxlength="16"/>
            </p>
            <p>
              <label>Mot de pass</label>
              <input name="pwd" type="password" class="textfield" value="" size="16" maxlength="16"/>
            </p>
			            <p>
             Connexion automatique: <input type="checkbox" name="connection_auto" value="on" />

            </p>
			<br/>
            <p style="text-align:center; padding-top:6px;">
              <input name="envoyer" src="../img/bouton_envoyer.png" type="image" value="Envoyer"/>
            </p>
            <p style="font-size:10px; text-align:center;"><em><a href="oubli_pwd.php">Mot de pass oublié ?</a><br/>
              <a href="inscription.php">Je m'inscrit !</a></em></p>
          </form>

par Ajoloca » 27 nov. 2006, 23:29

Re,

Tu est sur que $_SESSION['logged'] contien QQ chose à l'entrée du script?
Est tu sur que tu rentres dans le second if()?

par analfabete » 27 nov. 2006, 23:24

Cela n'a rien fais :cry:

par Ajoloca » 27 nov. 2006, 23:22

Bonsoir,

Ta ligne session_start(); devrait se trouver en tête du script et pas là ou elle se trouve.

Connection espace membre qui marche sur FF pas IE

par analfabete » 27 nov. 2006, 23:06

Bonsoir à tous je rencontre actuellement un problème avec mon scipt de connection a ma section membre, sous Firefox tout marche, quand je met de mauvais identifiant j'ai le message d'erreur qui s'affcihe et avec les bon identifiants cela me redirige vers la bonne page, cependant aucune des deux action cité ci-dessus marche sur IE
Voilà mon code de connection
<?php

if (isset($_POST['envoyer']) && $_POST['envoyer']=='Envoyer' && $_SESSION['logged'] == false)
{
    if ( isset($_POST['login']) && isset($_POST['pwd']) )
        {
                include('../script/connect_db.php');
                $sql = 'SELECT idmembre,login,pwd_md5,actif FROM membre WHERE login=\''.htmlentities($_POST['login']).'\' AND pwd_md5=\''.md5($_POST['pwd']).'\'';
                $req = mysql_query($sql);
                mysql_close();
                $res = mysql_fetch_array($req);
             $res_1=mysql_num_rows($req);

        if ($res_1 == 1)
                {       
                        if( $res['actif'] == 0 )
                        {
                                $erreur = '<p1>Votre compte n\'est pas encore activer<br></p1>';
                        }
                       
                        else
                        {
                                if (isset($_POST['connection_auto']) && $_POST['connection_auto'] == 'on')
                {
                        $expire = time() + 3600 * 24 * 365;
                                        setcookie('pseudo', $_POST['login'], $expire);
                        setcookie('mot_passe', md5($_POST['pwd']), $expire);
                 }
               
                                session_start();
                               
                                $_SESSION['logged'] = true;
                $_SESSION['login'] = $res['login'];
                                $_SESSION['idmembre'] = $res['idmembre'];
                header('Location: index.php');
                exit();
                        }
                }
               
                else    
                {
            $erreur = '<p1>Pseudo ou mot de pass incorrect<br></p1>';
        }
    }
}

?>