[RESOLU] upadate d'informations de connexion

Eléphant du PHP | 257 Messages

15 déc. 2012, 17:02

Bonjour j'ai une petit soucis je n'arrive pas à réalisé l'udapte de certaine données à la connexion . voici mon script
<?PHP      
 //On verifie si le formulaire a ete envoye
if(isset($_POST['email1'], $_POST['pass1'])) {
	
	if(!empty($_POST['email1']) && !empty($_POST['pass1'])) {
				
               //On echappe les variables pour pouvoir les mettre dans des requetes SQL
                if(get_magic_quotes_gpc())
                {                      
                $_POST['email1'] = stripslashes($_POST['email1']);
                $_POST['pass1']=   stripslashes (md5($_POST['pass1']));
                }
				
				$_POST['email1'] = mysql_real_escape_string($_POST['email1']);
				$_POST['pass1'] =   mysql_real_escape_string($_POST['pass1']);
				$mail = $_POST['email1'];
				$pass1 =  md5($_POST['pass1']);
								
                //On verifie sil ny a pas deja un utilisateur inscrit avec le mail et password choisis
	            $texts_exist=mysql_query("SELECT * FROM comptes WHERE  pass='".$pass1."' AND email='".$mail."'") or die (mysql_error());
																	   
	                                                         $test_nb=mysql_num_rows($texts_exist);
	                                                         if(!$test_nb==1)
	                                                         {
 
$taille = 20;
$lettres = "abcdefghijklmnopqrstuvwxyz0123456789AZERTYUIOPMLKJHGFDSQWXCVBN";
srand(time());
for ($i=0;$i<$taille;$i++)
{
@$idm.=substr($lettres,(rand()%(strlen($lettres))),1);
}
$ipass = $_SERVER['REMOTE_ADDR'];
$repaqui= date("Y-m-d");
$repaheure= date("H:i:s");

if($form==0){
mysql_query("UPDATE comptes SET idm='$idm', ip='$ipass', quipass='$repaqui', heurepass='$repaheure' WHERE pass='$pass1' AND email='$mail'");
				  
				     
                        //On enregistre son pseudo dans la session email et son identifiant dans la session idm
                        $_SESSION['email'] = $mail;
                        $_SESSION['idm'] = $idm;
					    header('Location: membre.php'); 
                        
                                         //Si ca a fonctionne, on naffiche pas le formulaire
                                         $form = FALSE;


            }
            else
		    {                              									 
            //Sinon on dit quil y a eu une erreur controle password email
            $form = TRUE;
            $message = 'Une erreur est survenue sur un des champs .';		
            }
            }
	        }
            else
		    {                              									 
            //Sinon on dit quil y a eu une erreur de champs vide
            $form = TRUE;
            $message = 'Vérifier vos champs s\'ils ne sont pas vides.';		
            }
            }           
            else
            {				
            $form = TRUE;
            }
            if($form)
            {
            //On affiche un message sil y a lieu
            if(isset($message))
            {
            echo '<div class="message" style="color:red;text-align:center;"><b>'.$message.'</b></div>';
            }
            //On affiche le formulaire       
            //On affiche le formulaire
       echo' <div align="center">
        <form method="post" action="'.$_SERVER['PHP_SELF'].'">
        <table style="width:350px;border:0;">
        <tr>
        <td style="height:180px;">
        <table style="width:100%; border:0px;">
        <tr>
        <td width="32%"><font><b>'.$email_lang.'</b></font></td>
        <td width="68%">';
		?>
        <input class="contact_input" type="text" name="email1" value="<?php if(isset($_POST['email1'])){echo $_POST['email1'];} ?>" style="width:160px;"">
        <?PHP
        echo'</td>
        </tr>
        <tr>
        <td width="32%"><font><b>'.$password.'</b></font></td>
        <td width="68%">';
		?>
        <input class="contact_input" type="password" name="pass1" value="<?php if(isset($_POST['pass1'])){echo $_POST['pass1'];} ?>" style="width:160px;">
        <?PHP
        echo'</td>
        </tr>
        </table>
        <table width="100%" border="0">
        <tr>
        <td style="height:26px; text-align:center">
        <input type="submit" name="valider" value="'.$valide.'">
        </td>
        </tr>
        </table>
        </td>
        </tr>
        </table>
        </form>
        </div>'; 
        include_once'special/liens.php'; 
			}
?> 

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

15 déc. 2012, 18:45

salut,

Il faut déboguer pour savoir où ton script passe.

Ajoute des echo ou des print a des endroits spécifiques (début d'un if par exemple).

pour commencer le if($form == 0) : $form n'existe pas tu devrais avoir une erreur si ce n'est pas le cas il faut les afficher : error_reporting = E_ALL ; + display_error à on.

Ensuite passe en commentaire le header qui n'a rien a faire la si tu souhaite que ton traitement se poursuive :) le $form = false n'est jamais exécuté.


L'arobase ne devrait pas être utilisée il faut gérer les erreurs correctement et déclarer la variable avant le if suffit amplement à ce que tout ce passe bien ;)


@+
Il en faut peu pour être heureux ......