Connexion
Abdl85
Messages postés
19
Statut
Membre
-
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
Salut à tous. J'ai un petit problème avec ma page connexion.php. J'arrive pas à me rediriger vers ma page membre.php après la connexion. Je ne sais pas si j'ai fait une erreur au niveau du code dont voici l'exemple:
<?php
session_start();
$con = mysqli_connect('localhost', 'root', ' ');
mysqli_select_db($con, 'base de donnée');
$name = $_POST['user'];
$pass = $_POST['password'];
$email = $_POST['email'];
$s = "select * FROM accounts where name = '$name' &&password = '$pass' &&email = '$email'";
$result = mysqli_query($con, $s);
$num = mysqli_num_rows($result);
if($num == 1){
$_SESSION['username'] = $name;
header('location:membre.php');
}
?>
Merci d'avance pour l'aide.
<?php
session_start();
$con = mysqli_connect('localhost', 'root', ' ');
mysqli_select_db($con, 'base de donnée');
$name = $_POST['user'];
$pass = $_POST['password'];
$email = $_POST['email'];
$s = "select * FROM accounts where name = '$name' &&password = '$pass' &&email = '$email'";
$result = mysqli_query($con, $s);
$num = mysqli_num_rows($result);
if($num == 1){
$_SESSION['username'] = $name;
header('location:membre.php');
}
?>
Merci d'avance pour l'aide.
3 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, comme nous t'avons déjà demandé, peux-tu utiliser les balises de code quand tu postes ton code?
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code -
Salut ! Bah dis nous si tu as des erreurs ou autres...
Et ta query SQL semble fausse && c'est en PHP, en SQL c'est AND.
SELECT* FROM accounts WHERE name = '$name' AND password = '$pass' AND email = '$email'
-
En effet, l'erreur viens de la requête.
Attention tout de même, ce genre de requête permettent de faire des injections SQL : https://openclassrooms.com/fr/courses/2091901-protegez-vous-efficacement-contre-les-failles-web/2680180-linjection-sql
Il est préférable d'utiliser PDO ainsi que des requêtes préparées-
Bonjour,
Il peut aussi utiliser le BindParam en mysqli.
Et surtout, revoir la façon dont il identifie les utilisateurs.
Le mot de passe ne devant jamais être stocké en clair dans la BDD ( ne serait-ce que pour la RGPD), il faut qu'il soit haché.
Et pour ça, en php, il faut utiliser la fonction password_hash
(et pour ensuite vérifier le mot de passe ... password_verify )
-