Connexion

Abdl85 Messages postés 19 Statut Membre -  
jordane45 Messages postés 38486 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.

3 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
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
1
M3NSONG3 Messages postés 615 Date d'inscription   Statut Membre Dernière intervention   162
 
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'



1
ThomasEspritWeb Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
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
1
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753
 
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 )
0