isset veut dire... is set.
ca ne veut pas dire le champ est vide ou non rempli.
il faut que tu fasses :
Code:if (isset($_POST['nick']) && trim($_POST['nick']) != '') {
Et utilise && à la place de and.
Version imprimable
isset veut dire... is set.
ca ne veut pas dire le champ est vide ou non rempli.
il faut que tu fasses :
Code:if (isset($_POST['nick']) && trim($_POST['nick']) != '') {
Et utilise && à la place de and.
merçi, mais que fait la fonction trim?
Sinon alors voilà tout mon code:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <?php if (isset($_POST['nick'])AND isset($_POST['pass'])){ //On verifie si le //pseudo et le mot de passe ont été saisies mysql_connect ("localhost","root","");//on se connecte à mysql mysql_select_db ("test");//on choisit une base de donnée $reply = mysql_query('SELECT nick,pwd FROM accounts WHERE nick=\''.$_POST['nick'].'\'');//envoi d'une requête $data = mysql_fetch_array ($reply);//on organise la réponse mysql_close();//on se deconnecte de la base de donnée if ($data['pwd']==$_POST['pass']) echo "</br>Ok!"; else echo "</br>Wrong nick or password</br></br>"; } ?>
Enlève espace avant une chaine non ?
Maintenant j'ai fait ca, mais la verification ne s'effectue pas, que je mette un nick ou pas, que ca soit bon ou pas, ca affiche directement: veuillez saisir.....
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 <?php echo "le système d'exploitation du serveur est ", PHP_OS; echo "</br>la version de l'analyseur PHP est la : ", PHP_VERSION; if (isset($_POST['nick'])AND isset($_POST['pass'])){ //On verifie si le pseudo et le mot de passe ont été saisies mysql_connect ("localhost","root","");//on se connecte à mysql mysql_select_db ("test");//on choisit une base de donnée $reply = mysql_query('SELECT nick,pwd FROM accounts WHERE nick=\''.$_POST['nick'].'\'');//envoi d'une requête $data = mysql_fetch_array ($reply);//on organise la réponse mysql_close();//on se deconnecte de la base de donnée if ((isset($_POST['nick']) && trim($_POST['nick']) != '')&&(isset($_POST['pwd']) && trim($_POST['pwd']) != '')) { if ($data['pwd']==$_POST['pass']) echo "</br>Ok!"; else echo "</br>Wrong nick or password</br></br>"; }else echo "</br>Veuillez saisir un pseudo et un mot de passe"; } ?>
et si tu ne ferme ta connexion qu'à la fin de ton code ?
nada, ca ne change rien :s
fait :
et regarde ce qu'il y a dans ton tableau.Code:print_r($_POST);
si, avant ton if, tu metsca donne quoi ?Code:var_dump($_POST['nick'], $_POST['pwd']);
Sinon tu confond pas $_POST['pwd'] et $_POST['pass'] ?
Sinon pour la signification des fonctions je te renvoie vers la doc :
http://php.net/trim
arf j'ai:
???Citation:
( [nick] => tux [pass] => ******** [submit] => Go )
Bon ben voila. On arrete de faire la sieste, on relit son code et c'est terminé ;)
:) :lol: :lol:
je fais le php depuis hier ^^, et déja je n'ai jamais entendu parler de cette var_dump ^^, et puis elle donne:Citation:
Envoyé par Mr N.
Citation:
string(3) "tux" string(8) "********"
en clair, ton champ pass contient **** au lieu de ton mot de passe ;) d'ou la remarque de Mr N 8)
Même pas.
Ton formulaire renvoie un champ 'pass'
et toi tu testes un champ 'pwd'
Donc soit il me manque des informations, soit tu testes une valeur qui n'existe pas et ce quelque soit la valeur que tu donne à ton champ.
oui mais enfait, si je saisie un pass pourquoi il récupère les stars ce con?Citation:
Envoyé par MacReiben
le formulaire renvoi pass et moi je teste ca avec le pwd de mon tableau (qui contien les infos cherché de la BDDCitation:
Envoyé par Mr N.
Extrait de ton code :Code:&(isset($_POST['pwd']) && trim($_POST['pwd']) !=
j'suis bête :oops: , j'ai compris de quoi tu parlait et c'est corriger :) Merçi :)
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <?php if (isset($_POST['nick'])AND isset($_POST['pass'])){ //On verifie si le pseudo et le mot de passe ont été saisies mysql_connect ("localhost","root","");//on se connecte à mysql mysql_select_db ("test");//on choisit une base de donnée $reply = mysql_query('SELECT nick,pwd FROM accounts WHERE nick=\''.$_POST['nick'].'\'');//envoi d'une requête $data = mysql_fetch_array ($reply);//on organise la réponse if ((isset($_POST['nick']) && trim($_POST['nick']) != '')&&(isset($_POST['pass']) && trim($_POST['pass']) != '')) { if ($data['pwd']==$_POST['pass']) echo "</br>Ok!"; else echo "</br>Wrong nick or password</br></br>"; }else echo "</br>Veuillez saisir un pseudo et un mot de passe"; } mysql_close();//on se deconnecte de la base de donnée ?>