A voir également:
- Probleme de parametres PHP
- Parametres de mon ordinateur - Guide
- Easy php - Télécharger - Divers Web & Internet
- Paramètres de confidentialité - Guide
- Paramètres dns - Guide
- Parametres comptes options de connexion - Guide
2 réponses
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
7 sept. 2009 à 18:06
7 sept. 2009 à 18:06
Bonjour,
Il y a une faute de syntaxe sur la construction de ta requête :
En PHP, ce ne sont pas des '+', mais des '.' qu'il faut utiliser (les '+' c'est ne javascript).
Ton code devient donc :
Ensuite, tu peux très bien avoir le bon login mais le mauvais mot de passe, ton test de validité n'est pas bon, il faut aussi que tu ajoute un contrôle sur le nombre de résultat retourné par ta requête SQL (dans un cas OK, le nombre doit être de 1)
Ton test devient donc le suivant :
Ensuite, tu as oublié de redirigé l'utilisateur sur la seconde page dans le cas où l'authentification est correcte (cas du else de ton if de test)
Ton test devient donc le suivant :
Enfin, dans ton formulaire, tu n'as pas besoin de passer une url avec un paramètre :
Un simple :
suffit.
Déjà ces corrections devraient t'aider, je n'ai parcouru que rapidement la suite.
Il y a une faute de syntaxe sur la construction de ta requête :
$req="select * from user where loginuser ="+$l+"and passuser="+$p ;
En PHP, ce ne sont pas des '+', mais des '.' qu'il faut utiliser (les '+' c'est ne javascript).
Ton code devient donc :
$req="select * from user where loginuser =".$l."and passuser=".$p ;
Ensuite, tu peux très bien avoir le bon login mais le mauvais mot de passe, ton test de validité n'est pas bon, il faut aussi que tu ajoute un contrôle sur le nombre de résultat retourné par ta requête SQL (dans un cas OK, le nombre doit être de 1)
Ton test devient donc le suivant :
if( $res != null && mysql_num_row($res) != 1 ){ exit(); }
Ensuite, tu as oublié de redirigé l'utilisateur sur la seconde page dans le cas où l'authentification est correcte (cas du else de ton if de test)
Ton test devient donc le suivant :
if( $res != null && mysql_num_row($res) != 1 ){ exit(); } else { // --- Redirection sur la page 2 header("chemin d'acces a la page 2 en relatif"); }
Enfin, dans ton formulaire, tu n'as pas besoin de passer une url avec un paramètre :
action="menu.php?var=<?php echo $_POST['log'];?>"
Un simple :
action="menu.php"
suffit.
Déjà ces corrections devraient t'aider, je n'ai parcouru que rapidement la suite.
Utilisateur anonyme
Modifié par ludobabs le 9/10/2014 à 11:36
Modifié par ludobabs le 9/10/2014 à 11:36
Bonjour,
Je rejoins notre ami kij_82 et aimerai rajouter
Mettre le formulairedans dans une table n'est pas répandu comme méthode, mettre une table dans un formulaire si.
Donc ton code devient
que vient faire le signe > à la fin de ta balise form ?
Ensuite, il y a un autre pb. dans ta ligne
Une balise <td> doit être terminée par une balise </td> ce sui n'est pas le cas. Idem pour la balise <b> ( balise qui au demeurant est obsolete, utilise <STRONG> à la place.
Cette ligne devient donc
Même chose pour la ligne concernant le Password
Tu devrais utiliser une feuille de style ( Css ) externe. L'pplication des attributs de style dans une balise se fait sous la forme, par exemple
Cdt
En informatique 99% des problèmes se situent entre le fauteuil et le clavier
Je rejoins notre ami kij_82 et aimerai rajouter
<table align="center" border="0">
<form name="auth" method="post" action="menu.php?var=<?php echo $_POST['log'];?>" >
<tr bgcolor="#000000"><td colspan="2"><font color="#FFFFFF">Veuiller introduire votre Login et Mot de passe</font></td></tr>
<tr bgcolor="#999999"><td><b>Login<b></td><td><input type="text" name="log"/><td></tr>
<tr bgcolor="#999999"><td><b>Password<b></td><td><input type="password" name="PW"/><td></tr>
<tr bgcolor="#999999"><td align="center"><input type="submit" name="Con" value="Connexion"/></td><td align="center"><input type="reset" name="res" value="Annuler" /></td></tr>
</form>
</table>
Mettre le formulairedans dans une table n'est pas répandu comme méthode, mettre une table dans un formulaire si.
Donc ton code devient
<form name="auth" method="post" action="menu.php?var=<?php echo $_POST['log'];?>" >
<table align="center" border="0">
<tr bgcolor="#000000"><td colspan="2"><font color="#FFFFFF">Veuiller introduire votre Login et Mot de passe</font></td></tr>
<tr bgcolor="#999999"><td><b>Login<b></td><td><input type="text" name="log"/><td></tr>
<tr bgcolor="#999999"><td><b>Password<b></td><td><input type="password" name="PW"/><td></tr>
<tr bgcolor="#999999"><td align="center"><input type="submit" name="Con" value="Connexion"/></td><td align="center"><input type="reset" name="res" value="Annuler" /></td></tr>
</table>
</form>
que vient faire le signe > à la fin de ta balise form ?
Ensuite, il y a un autre pb. dans ta ligne
<tr bgcolor="#999999"><td><b>Login<b></td><td><input type="text" name="log"/><td></tr>
Une balise <td> doit être terminée par une balise </td> ce sui n'est pas le cas. Idem pour la balise <b> ( balise qui au demeurant est obsolete, utilise <STRONG> à la place.
Cette ligne devient donc
<tr bgcolor="#999999"><td><strong>Login</strong></td><td><input type="text" name="log"/></td></tr>
Même chose pour la ligne concernant le Password
Tu devrais utiliser une feuille de style ( Css ) externe. L'pplication des attributs de style dans une balise se fait sous la forme, par exemple
<tr style = "bgcolor:#000000">
Cdt
En informatique 99% des problèmes se situent entre le fauteuil et le clavier