Login en php/sql
niumm
-
jordane45 Messages postés 40052 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 40052 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Alors voila, j'ai un formulaire de création de compte en php avec connexion à une base de données. Je voudrais donc maintenant avoir un login.php pour se connecter avec une adresse mail et un mot de passe (définit juste avant dans le formulaire de création de compte) depuis la base de données avec un message "Vous vous êtes bien authentifié" ou "Se compte n'existe pas, en créer un ?". Je ne m'y connais vraiment pas en SQL, je début :x
Voici mon formulaire de création de compte :
Alors voila, j'ai un formulaire de création de compte en php avec connexion à une base de données. Je voudrais donc maintenant avoir un login.php pour se connecter avec une adresse mail et un mot de passe (définit juste avant dans le formulaire de création de compte) depuis la base de données avec un message "Vous vous êtes bien authentifié" ou "Se compte n'existe pas, en créer un ?". Je ne m'y connais vraiment pas en SQL, je début :x
Voici mon formulaire de création de compte :
<?php
$dbh = 'mysql:host=***;dbname=***';
$user = '***';
$pass = '***';
try{
$pdo = new PDO($dbh, $user, $pass);
} catch (PDOException $e) {
print "Erreur !" . $e->getMessage();
die();
}
$req = $pdo->prepare("INSERT INTO Utilisateur (Nom,Prenom,email,MotDePasse) VALUES(:nom, :prenom, :email, :pwd)"
, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$req->execute(array(
':nom' => $_POST['name'],
':prenom' => $_POST['prenom'],
':email' => $_POST['mail'],
':pwd' => $_POST['password']
));
$req->closeCursor();
// Le message
$message = "Vous avez recu une nouvelle demande de contact sur votre site internet\n\n";
$message .= ' Identifiant : '.$_POST['id'];
$message .= ' Nom : '.$_POST['name'];
$message .= ' Prénom : '.$_POST['prenom'];
$message .= ' E-mail : '.$_POST['mail'];
$message .= ' Mot de passe : '.$_POST['password'];
$to = '***@***';
$subject = 'Demande de contact';
$headers = 'From: contact@***' . "\r\n" .
'Reply-To: contact@***' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
// Envoi du mail
if(mail($to, $subject, $message, $headers))
{
echo "
<script type='text/javascript'>
alert('Votre demande nous a bien été adressée. Nous vous répondrons dès que possible.');
setTimeout(function (){
window.location.href = 'index.html#contact?message=succes';
}, 2000);
</script> ";
}
else
{
echo 'erreur';
}
A voir également:
- Login en php/sql
- On me demande mon login - Forum Windows
- Facebook.com/login/identify en francais ✓ - Forum Réseaux sociaux
- My.canalbox.africa/login - Forum Box et Streaming vidéo
- Easy php - Télécharger - Divers Web & Internet
- Portail mpsa login ✓ - Forum Réseau
3 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 586
bonjour, il est recommandé de ne pas enregistrer le mot de passe en clair dans la base, et de plutôt enregistrer une clé de hachage du mot de passe. comme expliqué ici: https://www.php.net/manual/fr/function.password-hash.php
as-tu commencé ta page de login? veux-tu progresser en SQL?
as-tu commencé ta page de login? veux-tu progresser en SQL?
J'ai une simple erreur mais je n'arrive pas à trouver ce qui ne vas pas dans mon code. Si tu arriverais à m'aider ce serait merveilleux.
<?php
$dbh = 'mysql:host=***;dbname=***';
$user = '***';
$pass = '***';
try{
$pdo = new PDO($dbh, $user, $pass);
} catch (PDOException $e) {
print "Erreur !" . $e->getMessage();
die();
}
$stmt = $pdo->prepare('SELECT * FROM Utilisateur WHERE mail = :email and password = :pwd');
$stmt->bindValue(':email, $_POST['mail'], PDO::PARAM_STR');
$stmt->bindValue(':pwd, $_POST['password'], PDO::PARAM_STR');
$stmt->execute();
$user = $stmt->fetchAll();
var_dump($user);
// Le message
$message = "Quelqu'un s'est connecté\n\n";
$message .= ' E-mail : '.$_POST['mail'];
$message .= ' Mot de passe : '.$_POST['password'];
$to = '***@gmail.com';
$subject = 'connexion';
$headers = 'From: contact@***' . "\r\n" .
'Reply-To: contact@***' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
// Envoi du mail
if(mail($to, $subject, $message, $headers))
{
echo "
<script type='text/javascript'>
alert('Bienvenu sur notre site.');
setTimeout(function (){
window.location.href = 'index.html';
}, 2000);
</script> ";
}
else
{
echo "
<script type='text/javascript'>
alert('Compte non valide.');
setTimeout(function (){
window.location.href = 'index.html';
}, 2000);
</script> ";
}
Bonjour,
Au passage,
Je t'invite fortement à lire ( et à appliquer !! ) les conseils donnés ici :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
et là :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Au passage,
Je t'invite fortement à lire ( et à appliquer !! ) les conseils donnés ici :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
et là :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Tu as donc appliqué les consignes qui se trouvent dans les liens que je t'ai donné ?
Dans ce cas.... montres nous ton code modifié qu'on puisse essayer de voir ce qui ne va pas.
NB: Tant que ton souci d'import en BDD ne sera pas résolu.... met en commentaire les lignes qui font les redirections vers d'autres pages... sinon tu ne pourras pas voir les erreurs qui s'afficheraient éventuellement dans ta page !
Je t'invite fortement à lire ( et à appliquer !! ) les conseils donnés ici :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
et là :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Dans ce cas.... montres nous ton code modifié qu'on puisse essayer de voir ce qui ne va pas.
NB: Tant que ton souci d'import en BDD ne sera pas résolu.... met en commentaire les lignes qui font les redirections vers d'autres pages... sinon tu ne pourras pas voir les erreurs qui s'afficheraient éventuellement dans ta page !
<?php
$dbh =
$user =
$pass =
try{
$pdo = new PDO($dbh, $user, $pass);
} catch (PDOException $e) {
print "Erreur !" . $e->getMessage();
die();
}
$stmt = $pdo->prepare('SELECT * from Utilisateur WHERE email = :email and MotDePasse = :pwd');
$stmt->bindValue(':email', $_POST['mail'], PDO::PARAM_STR);
$stmt->bindValue(':pwd', $_POST['password'], PDO::PARAM_STR);
$stmt->execute();
$user = $stmt->fetchAll();
var_dump($user);
// Le message
$message = "Quelqu'un s'est connecté\n\n";
$message .= ' E-mail : '.$_POST['mail'];
$message .= ' Mot de passe : '.$_POST['password'];
$to = '@gmail.com';
$subject = 'connexion';
$headers = 'From: contact@ . "\r\n" .
'Reply-To: contact@' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
// Envoi du mail
if(mail($to, $subject, $message, $headers))
{
echo "
<script type='text/javascript'>
alert('Bienvenu sur notre site.');
setTimeout(function (){
window.location.href = 'index.html';
}, 2000);
</script> ";
}
else
{
echo "
<script type='text/javascript'>
alert('Compte non valide.');
setTimeout(function (){
window.location.href = 'index.html';
}, 2000);
</script> ";
}
https://forums.commentcamarche.net/forum/affich-36832456-recuperation-donnees-d-un-formulaire-avec-sql#1
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/