Passage de parametre par formulaire

Snoops13
Invité n'ayant pas de compte PHPfrance

10 juil. 2005, 23:00

La j'en peux plus je dois vraiment etre endormi je ne vois pas une erreur qui, je pense, doit etre minable, mais mon cerveau surchaufe.
Please help me :
Je n'ai aucune valeur pour ma variable $nom dans ma page authorisation.php alors que j'en est une pour $pwd. Voila mon formulaire :

Code : Tout sélectionner

<FORM ACTION="authorisation.php"> <table border="3" bordercolor="#FFFFFF"> <tr> <td align=center colspan=2><i><b>Se connecter :</b></i></td> </tr> <tr align=center> <td>LOGIN : </td><td><INPUT TYPE=text NAME=nom maxLenght=10 size=10></td> </tr> <tr align=center> <td>PASSWORD : </td><td><INPUT TYPE=text NAME=pwd maxLenght=10 size=10></td> </tr> </table> <table> <tr> <td align=right><INPUT TYPE="submit" name="validation" VALUE="Ok"></td> <td align=left><INPUT TYPE="reset" name="validation" VALUE="Annuler"></td> </tr> </table>

Mammouth du PHP | 19672 Messages

10 juil. 2005, 23:12

Je ne vois rien de particulier dans ton code sinon que tu pourrais l'indenter mieux et avoir un code uniforme: guillemets pour les valeurs et tout en minuscule ou tout en majuscule, mais pas de mélange, c'est plus facile à suivre. Et pourquoi deux tables quand une seule suffirait ?

Il faudrait voir comment tu récupères tes variables ensuite.

Pour ton code remis en forme, ça devrait ressembler à ceci:

Code : Tout sélectionner

<form action="authorisation.php"> <table border="3" bordercolor="#FFFFFF"> <tr> <td align="center" colspan="2"><i><b>Se connecter :</b></i></td> </tr> <tr align="center"> <td>LOGIN : </td> <td><input type="text" name="nom" maxlenght="10" size="10"></td> </tr> <tr align="center"> <td>PASSWORD : </td> <td><input type="text" name="pwd" maxlenght="10" size="10"></td> </tr> <tr> <td align="right"><input type="submit" name="validation" value="Ok"></td> <td align="left"><input type="reset" name="validation" value="Annuler"></td> </tr> </table> </form>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Snoops13
Invité n'ayant pas de compte PHPfrance

10 juil. 2005, 23:23

Les 2 tables étaient juste un soucis d'esthétique pour les boutons mais inutiles je te l'accorde.
ENsuite voila le code de récupération des données :
<?
session_start();

include("variables.php");

$connexion=mysql_connect("$host","$compte","$mdp");
if ($connexion==0)
die ("connexion error");
mysql_select_db ("$base");

$requete="select * from utilisateur where '$nom'=login AND '$pwd'=mdp;";
$resultat=mysql_query($requete);

$ligne=mysql_fetch_object($resultat);
$droit=$ligne->droit;
Aucun soucis de doublon de noms dans l'include.
Et pour la syntaxe, oui d'habitude je met tout en minuscule mais la j'avais commencé a faire propre mais quand ca a commencé a me prendre la tete et je n'arrive pas a comprendre pourquoi alors que c'est sensé etre tout con j'ai commencé a baclé mon travail sorry.
Pour les guillemets j'admets ne jamais les mettre tant qu'il n'y a pas d'espaces... pas forcément bien mais jusqu'a présent jamais eu aucuns soucis la dessus... jusqu'au jour ou...

Mammouth du PHP | 19672 Messages

10 juil. 2005, 23:28

Mouais, le cerveau doit chauffer :langue:
$nom = $_POST['nom'];
$pwd = $_POST['pwd']; // <== faudrait pas oublier de récupérer les valeurs du formulaire
$requete="select * from utilisateur where login='".$nom."' AND mdp='".$pwd."';"; // Et on met les comparaisons dans le bon sens aussi
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Snoops13
Invité n'ayant pas de compte PHPfrance

10 juil. 2005, 23:37

Ouai mais j'ai jamais fait comme ca et ca a toujours marché j'avais vu qu'on le fesait mais je n'en avais jamais eu l'utilité.
Peut-etre que le temps est venu de m'y mettre.
Je test et je te tiens au courant.

Snoops13
Invité n'ayant pas de compte PHPfrance

10 juil. 2005, 23:40

C'est ce que je pensais rien ne change, si ce n'est le fait que maintenant je perds aussi la valeur de $pwd...

:evil:
j'en ai marre lol

Mammouth du PHP | 19672 Messages

11 juil. 2005, 00:12

Je viens de comprendre, un truc que j,avais pas vu: ajoute donc un élément dans ta balise form : method="post"
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Snoops13
Invité n'ayant pas de compte PHPfrance

11 juil. 2005, 06:58

Yes !!!!
C'était ca...
Bon bah encore une mauvaise habitude de ma part a ne plus prendre :roll:
Merci encore cyrano.