Formulaires erronés ?

Résolu
Vyriz -  
 Vyriz -
Bonjour,
Alors voilà je fais un site web parmis tant d'autres, et le problème est que le formulaire de connexion sur l'index m'indique comme erreur " Tout les champs n'ont pas été remplis " pareil pour le formulaire d'inscription, alors que tout les champs sont remplis ( sauf s'il y a un champ invisible :p ) alors bon...
Voilà le code du formulaire de mon index :
<?php 
include('config.php'); 
?> 
<form method="POST" action="connexion.php"> 
 LOGIN :<br> 
<input type="text" name="T1" size="45" maxlength="20" style="font-size: 10px; font-family: Verdana; font-style: italic; border: 1px solid #C1D0CD; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1"><br> 
 PASSWORD :<br> 
<input type="password" name="T2" size="45" maxlength="20"style="font-size: 10px; font-family: Verdana; font-style: italic; border: 1px solid #C1D0CD; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1"> 
<p align="center"> 
<input type="submit" value="Send" name="B1" style="font-size: 10px; font-family: Verdana; font-style: italic; border: 1px solid #C1D0CD; padding: 1; background-color: #E2EAED"> 
</p> 
</form><a href="register.html">Sign up !</a> </td> 


Et voici le code de ma page d'inscription :
<?php 
include('config.php'); 
?> 
<form method="POST" action="inscription.php"> 
 USERNAME :<br> 
<input type="text" name="T1" size="45" maxlength="20" style="font-size: 10px; font-family: Verdana; font-style: italic; border: 1px solid #C1D0CD; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1"><br> 
 PASSWORD :<br> 
<input type="password" name="T2" size="45" maxlength="20"style="font-size: 10px; font-family: Verdana; font-style: italic; border: 1px solid #C1D0CD; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1"><br> 
 CONFIRM PASSWORD :<br> 
<input type="password" name="T3" size="45" maxlength="20"style="font-size: 10px; font-family: Verdana; font-style: italic; border: 1px solid #C1D0CD; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1"><br> 
 EMAIL :<br> 
<input type="text" name="T4" size="45" maxlength="200" style="font-size: 10px; font-family: Verdana; font-style: italic; border: 1px solid #C1D0CD; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1"><br> 
<p align="center"> 
<input type="submit" value="Sign up" name="B1" style="font-size: 10px; font-family: Verdana; font-style: italic; border: 1px solid #C1D0CD; padding: 1; background-color: #E2EAED"> 
</p> 
</form> 


Merci d'avance pour m'indiquer ce qui cloche :p

2 réponses

Profil bloqué
 
le controle disant comme quoi tes champs ne sont pas rempli est effectué comment ? avec du javascript ou un controle php sur la page appelé a traiter l'info ?

car à première vu tout semble correct...
1
Vyriz
 
C'est une page appelée... Pour l'inscription, la page appelée est inscription.php, voici le code :
<?php
require('config.php');
if(empty($_SESSION['id'])) {
    if(!empty($post['T1']) && !empty($post['T2']) && !empty($post['T3']) && !empty($post['T4'])) {
        if($post['T2'] == $post['T3']) {
            if(preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $post['T4'])) {
                $login = addslashes(htmlspecialchars(strtolower($post['T1'])));
                $pass = sha1($post['T2']);
                $mail = addslashes(htmlspecialchars($post['T4']));
                $data1 = mysql_fetch_array(mysql_query("SELECT * FROM user WHERE compte='".$login."'"));
                $data2 = mysql_fetch_array(mysql_query("SELECT * FROM user WHERE mail='".$mail."'"));
                if(empty($data1['pseudo'])){
                    if(empty($data2['email'])){
                        mysql_query("INSERT INTO user ('id', 'compte', 'pass', 'mail') VALUES ( NULL,  '".$login."',  '".$pass."'' '".$mail."')") OR die ('Erreur SQL : '.mysql_error());
                        echo "<p>L'inscription c'est déroulé avec succès !</p>
                            <meta http-equiv=\"refresh\" content=\"1; URL=index.php\">";

                    } else {
                        echo "<p>Cette E-Mail est déjà utilisé !</p>";
                    }
                } else {
                    echo "<p>Ce login est déjà utilisé !</p>";
                }
            } else {
                echo "<p>Votre E-Mail n'est pas valide !</p>";
            }
        } else {
            echo "<p>La confirmation de mot de passe est différente du mot de passe !</p>";
        }
    } else {
        echo "<p>Tout les champs n'ont pas été remplis !</p>";
    }
} else {
    echo "<p>Vous êtes déjà inscrit ! !</p>";
}
mysql_close();
?>


Pareil pour l'index, la page appelée est connexion.php :
<?php
require('config.php');
if(empty($_SESSION['id'])) {
    if(!empty($post['T1']) && !empty($post['T2'])) {
        $login = strtolower($post['T1']);
        $pass = sha1($post['T2']);
        $verif_log = mysql_query("SELECT * FROM user WHERE compte='".$login."' && pass='".$pass."'");
        if ($verif = mysql_fetch_array($verif_log)) {
            $_SESSION['id'] = $verif['id'];
            echo "<p>Vous êtes bien connecté.</p>
            <meta http-equiv=\"refresh\" content=\"1; URL=index.php\">";
        } else {
            echo "<p>Erreur de login ou de mot de passe.</p>";
        }
    } else {
        echo "<p>Tout les champs doivent été remplis.</p>";
    }
} else {
    echo "<p>Vous êtes déjà connecté ! !</p>";
}
mysql_close();
?>
0
Profil bloqué
 
c'est normal...$post[kkchose] n'existe pas...

c'est une variable global...il faut que tu utilise $_POST[kkchose] et non $post[kkchose]
1
Vyriz
 
Ah merde !
J'ai tout modifié et ça marche maintenant, merci ;)
0
Profil bloqué
 
pas de quoi ! mais peux tu marquer le sujet en résolu afin que les autres dans ton cas puisse étre aider à l'avenir ? (un simple "+" suffit ^^
0
Vyriz
 
Une dernière question,
quand je veux faire une fausse inscription pour tester le scripte, ça me fais cette erreur au moment de l'envoi (la connexion marche bien)

"Erreur SQL : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'adresse email (je peux pas la mettre en n'etant pas membre')' at line 1"

Qu'est-ce que ça pourrais être ? le +1 et resolu arrivent :)
0
Profil bloqué
 
si ta colonne "id" est en auto-increment et/ou est un int...alors c'est normal ...toi tu cherche à ajouter un champ "null"...sa ne sert à rien...ecrit directement :

mysql_query("INSERT INTO user ( 'compte', 'pass', 'mail') VALUES ( ".$login."',  '".$pass."'' '".$mail."')") OR die ('Erreur SQL : '.mysql_error());


ton id est sensé étre "automatique" donc pas besoin de le renseigné, il va s'incrémenté seul...
0
Vyriz
 
Après modification, je n'ai plus l'erreur SQL (encore merci) mais cette fois ça me dit que je suis déjà inscrit.....
0