Bonjour à tous,
suivant la version 2 du PHP5 avancé de Daspet/Geyer (ch.11, p.245), j'essaye de créer une fonction de vérification du couple login/mdp d'un utilisateur lors d'une connexion à une session
* J'ai une table MySQL5 session avec SES_LOGIN et SES_MDP où sont stockées les infos nécessaires.
* le login et le mdp arrivent via un formulaire post : $_POST['login'] et $_POST['mdp']
voici le code en mysql copié de "PHP 5 avancé" :
Voici mon code en mysqli qui ne marche pas ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 function verification($login, $mdp) { //($login = $_POST['login']) //infos connexion... //création requête $login = mysql_real_escape_string($login); $mdp = mysql_real_escape_string($mdp); $sqlses = "SELECT SES_LOGIN, SES_MDP FROM session" ." WHERE SES_LOGIN='$login' AND SES_MDP='$mdp'"; //exécution $result = mysql_query($sqlses); if (mysql_num_rows($result)>0) { return TRUE; } else { return FALSE; } }
faut-il encore protéger les variables en 4 et 5 avec Mysqli ? (hé au fait comment on numérote automatiquement les lignes dans la balise code ?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 1. function verification($login, $mdp) { 2. include ('Connections/annuaire-mysqli.php'); 3. mysqli_select_db($link, 'annuaire'); 4. $login = mysqli_real_escape_string($link, $login); 5. $mdp = mysqli_real_escape_string($link, $mdp); 6. $sqlses = "SELECT SES_LOGIN, SES_MDP FROM session" ." WHERE SES_LOGIN='$login' AND SES_MDP='$mdp'"; 7. $rqp = mysqli_prepare($link, $sqlses); 8. mysqli_stmt_execute($rqp); //Warning: mysqli_stmt_execute() expects parameter 1 to be mysqli_stmt, boolean given 9. $result = mysqli_stmt_num_rows($rqp); //Warning: mysqli_stmt_num_rows() expects parameter 1 to be mysqli_stmt, boolean given 10. if (mysqli_stmt_num_rows($result)>0) { //Warning: mysqli_stmt_num_rows() expects parameter 1 to be mysqli_stmt, null given 11. return TRUE; 12. } else { 13. return FALSE; 14. } 15. }
Merci d'avance à ceux qui voudront bien éclairer ma lanterne après un RTFM infructeux...
Partager