Lightbox de login
Résolu/Fermé
killjulien
Messages postés
199
Date d'inscription
jeudi 2 juillet 2009
Statut
Membre
Dernière intervention
30 septembre 2019
-
28 oct. 2012 à 10:47
killjulien Messages postés 199 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 30 septembre 2019 - 20 nov. 2012 à 17:45
killjulien Messages postés 199 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 30 septembre 2019 - 20 nov. 2012 à 17:45
6 réponses
killjulien
Messages postés
199
Date d'inscription
jeudi 2 juillet 2009
Statut
Membre
Dernière intervention
30 septembre 2019
20
29 oct. 2012 à 10:28
29 oct. 2012 à 10:28
Up plz !
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
475
Modifié par arthezius le 29/10/2012 à 10:33
Modifié par arthezius le 29/10/2012 à 10:33
Il faut dans un premier temps fermer les balises <div>
Il faut ensuite créer un formulaire.
Il ne te reste plus qu'a faire la page de traitement en PHP pour la connexion.
Je ne la détaillerai pas ici.
Tu peux faire une recherche pour faire ce script.
Voir aussi:
https://openclassrooms.com/fr/courses/1603881-apprenez-a-creer-votre-site-web-avec-html5-et-css3
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913099-transmettez-des-donnees-avec-les-formulaires
« La recherche commence là où s'arrête la connaissance. »
<div id="filter" onclick="displayBox()"> <div id="box"> <p> Nom d'utilisateur : </p> <p> Mot de passe : </p> </div> </div>
Il faut ensuite créer un formulaire.
<div id="filter" onclick="displayBox()"> <div id="box"> <form method="post" action="traitement.php"> <p> Nom d'utilisateur : <input name="login" /></p> <p> Mot de passe : <input name="mdp" type="password" /></p> </form> </div> </div>
Il ne te reste plus qu'a faire la page de traitement en PHP pour la connexion.
Je ne la détaillerai pas ici.
Tu peux faire une recherche pour faire ce script.
Voir aussi:
https://openclassrooms.com/fr/courses/1603881-apprenez-a-creer-votre-site-web-avec-html5-et-css3
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913099-transmettez-des-donnees-avec-les-formulaires
« La recherche commence là où s'arrête la connaissance. »
killjulien
Messages postés
199
Date d'inscription
jeudi 2 juillet 2009
Statut
Membre
Dernière intervention
30 septembre 2019
20
14 nov. 2012 à 21:10
14 nov. 2012 à 21:10
Merci pour cette réponse ! (Désolé de répondre si tardivement...)
J'ai bien essayé comme tu m'as dis, j'ai essayé de créer un formulaire et une base de donnée.
Mais j'ai un problème, lorsque je clique sur "Connecter" il est normalement censé me dire que je n'ai pas remplis tout les champs de connexion par exemple. Mais il n'affiche aucun de mes "echo" dans mon fichier .PHP
Voici le code de ma page login.php
<?php
if(isset($_POST['submit']))
{
$username = $_POST['username'];
$password = $_POST['password'];
if($username&&$password)
{
$connect = mysql_connect('localhost','root','');
mysql_select_db('login');
$log = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password'");
$rows = mysql_num_rows($log);
if($rows == 1)
{
echo"Bienvenu";
}else echo"Nom d'utilisateur incorrect";
}else echo"Veuillez saisir tous les champs";
?>
J'ai bien essayé comme tu m'as dis, j'ai essayé de créer un formulaire et une base de donnée.
Mais j'ai un problème, lorsque je clique sur "Connecter" il est normalement censé me dire que je n'ai pas remplis tout les champs de connexion par exemple. Mais il n'affiche aucun de mes "echo" dans mon fichier .PHP
Voici le code de ma page login.php
<?php
if(isset($_POST['submit']))
{
$username = $_POST['username'];
$password = $_POST['password'];
if($username&&$password)
{
$connect = mysql_connect('localhost','root','');
mysql_select_db('login');
$log = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password'");
$rows = mysql_num_rows($log);
if($rows == 1)
{
echo"Bienvenu";
}else echo"Nom d'utilisateur incorrect";
}else echo"Veuillez saisir tous les champs";
?>
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
475
15 nov. 2012 à 06:05
15 nov. 2012 à 06:05
Peux-tu mettre également ton formulaire?
killjulien
Messages postés
199
Date d'inscription
jeudi 2 juillet 2009
Statut
Membre
Dernière intervention
30 septembre 2019
20
15 nov. 2012 à 17:55
15 nov. 2012 à 17:55
je ne vois pas de quoi tu veux parler malheuresement.. Je débute seulement dans ces langages. Les seuls deux fichiers que j'ai sont index.html et login.php
Encore merci pour ton aide, même si je peux paraitre lourdo..
Encore merci pour ton aide, même si je peux paraitre lourdo..
killjulien
Messages postés
199
Date d'inscription
jeudi 2 juillet 2009
Statut
Membre
Dernière intervention
30 septembre 2019
20
15 nov. 2012 à 17:56
15 nov. 2012 à 17:56
J'ai un peut corrigé la fin du fichier PHP où il y avait des erreurs :
<?php
if(isset($_POST['submit']))
{
$username = $_POST['username'];
$password = $_POST['password'];
if($username&&$password)
{
$connect = mysql_connect('localhost','root','');
mysql_select_db('login');
$log = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password'");
$rows = mysql_num_rows($log);
if($rows == 1)
{
echo"Bienvenu";
}else
{
echo"Nom d'utilisateur incorrect";
}
} else
{
echo"Veuillez saisir tous les champs";
}
?>
<?php
if(isset($_POST['submit']))
{
$username = $_POST['username'];
$password = $_POST['password'];
if($username&&$password)
{
$connect = mysql_connect('localhost','root','');
mysql_select_db('login');
$log = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password'");
$rows = mysql_num_rows($log);
if($rows == 1)
{
echo"Bienvenu";
}else
{
echo"Nom d'utilisateur incorrect";
}
} else
{
echo"Veuillez saisir tous les champs";
}
?>
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
475
Modifié par arthezius le 15/11/2012 à 18:03
Modifié par arthezius le 15/11/2012 à 18:03
Le formulaire c'est le code HTML contenu entre les balises <form> et </form> avec les champs à remplir (<input />).
killjulien
Messages postés
199
Date d'inscription
jeudi 2 juillet 2009
Statut
Membre
Dernière intervention
30 septembre 2019
20
15 nov. 2012 à 18:16
15 nov. 2012 à 18:16
Voilà :
<form method="post" action="login.php">
<p> Nom d'utilisateur : <input name="login" placeholder="Ex : Pascal"/></p>
<p> Mot de passe : <input name="password" type="password" /> </p>
<input type="submit" value="Valider" />
</form>
<form method="post" action="login.php">
<p> Nom d'utilisateur : <input name="login" placeholder="Ex : Pascal"/></p>
<p> Mot de passe : <input name="password" type="password" /> </p>
<input type="submit" value="Valider" />
</form>
@lobotomix:~# rm -rf *\
Messages postés
1392
Date d'inscription
dimanche 1 juillet 2012
Statut
Membre
Dernière intervention
14 décembre 2012
208
Modifié par @lobotomix:~# rm -rf * le 19/11/2012 à 18:42
Modifié par @lobotomix:~# rm -rf * le 19/11/2012 à 18:42
Salut, je viens de faire un script pour toi j'espere qu'il fonctionne
il faut savoir que si tu enregistre des mots de passes dans ta bdd tu doit les crypté et qu'il est utile une fois l'utilisateur connecter de faire des session, comme cela il sera toujours connecté quelque soit la page de ton site
j'ai pas employer les même nom de variable que toi mais c est juste pour te mettre sur la voie
"Un homme azerty en vaut deux"
il faut savoir que si tu enregistre des mots de passes dans ta bdd tu doit les crypté et qu'il est utile une fois l'utilisateur connecter de faire des session, comme cela il sera toujours connecté quelque soit la page de ton site
j'ai pas employer les même nom de variable que toi mais c est juste pour te mettre sur la voie
<?php //<![CDATA[ try { $bdd = new PDO('mysql:host=localhost;dbname=login', 'root', ''); } catch(Exception $e) { die('Ca deconne grave : ' . $e -> getMessage()); } if (isset($_POST['pseudo']) AND isset($_POST['password'])) { $pass_hache = sha1($_POST['password']); $repons = $bdd -> prepare('SELECT pseudo FROM membre WHERE pseudo=:pseudo'); $repons -> execute(array('pseudo' => htmlspecialchars($_POST['pseudo']))); $reponse = $bdd -> prepare('SELECT password FROM membre WHERE password=:password'); $reponse -> execute(array('password' => $pass_hache)); $result = $repons -> fetch(); $resultat = $reponse -> fetch(); if ($repons -> rowCount() != 0 AND $reponse -> rowCount() != 0) { $_SESSION['pseudo'] = $result['pseudo']; $_SESSION['password'] = $resultat['password']; echo '<p>Vous êtes connecté ! Bienvenue ' . $_SESSION['pseudo']; $repons -> closeCursor(); $reponse -> closeCursor(); } else { echo '<p>Mauvais identifiant ou mot de passe !</p>'; } } //]]> ?>
"Un homme azerty en vaut deux"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
killjulien
Messages postés
199
Date d'inscription
jeudi 2 juillet 2009
Statut
Membre
Dernière intervention
30 septembre 2019
20
19 nov. 2012 à 20:32
19 nov. 2012 à 20:32
Merci ReDLog, ça fonctionne !!!!!!
Lobotomix, merci beaucoup pour ton aide je garde ton code quand je ferais une page de login plus complexe !
Merci à tous !
Lobotomix, merci beaucoup pour ton aide je garde ton code quand je ferais une page de login plus complexe !
Merci à tous !
killjulien
Messages postés
199
Date d'inscription
jeudi 2 juillet 2009
Statut
Membre
Dernière intervention
30 septembre 2019
20
19 nov. 2012 à 21:17
19 nov. 2012 à 21:17
J'aurais juste une dernière question :
Comment faire pour que l'utilisateur ne puisse pas accéder à une autre page ?
Je m'explique : Si par exemple un utilisateur arrive sur mon site, il arrive sur la page index.html, se connecte, et arrive sur la page index2.html.
Dans mon navigateur, dans la barre d'adresse il y à écris :
127.0.0.1/index.html ==> Avant le login.
127.0.0.1/index2.html ==> Après le login.
Comment faire pour que l'utilisateur n'arrive pas sur la page index2.html juste en la tapant dans la barre d'adresse, mais seulement en étant connecté ?
Comment faire pour que l'utilisateur ne puisse pas accéder à une autre page ?
Je m'explique : Si par exemple un utilisateur arrive sur mon site, il arrive sur la page index.html, se connecte, et arrive sur la page index2.html.
Dans mon navigateur, dans la barre d'adresse il y à écris :
127.0.0.1/index.html ==> Avant le login.
127.0.0.1/index2.html ==> Après le login.
Comment faire pour que l'utilisateur n'arrive pas sur la page index2.html juste en la tapant dans la barre d'adresse, mais seulement en étant connecté ?
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
475
20 nov. 2012 à 05:19
20 nov. 2012 à 05:19
"Comment faire pour que l'utilisateur n'arrive pas sur la page index2.html juste en la tapant dans la barre d'adresse, mais seulement en étant connecté ?"Tu devrais déjà renommer toutes tes pages en .php
Pour faire ce que tu veux, il te faut utiliser le PHP.
Ton membre, à la connexion déclare une variable de session.
Sur les pages en question, tu dois vérifier si oui ou non la variable de session est déclaré.
if(isset($_SESSION['pseudo'])) { echo'<p>Bravo, si vous voyez ce message, c\'est que vous êtes connecté.</p>'; } else{ echo'<p>Pour devez être connecté pour voir cette page.</p>'; }
killjulien
Messages postés
199
Date d'inscription
jeudi 2 juillet 2009
Statut
Membre
Dernière intervention
30 septembre 2019
20
20 nov. 2012 à 17:45
20 nov. 2012 à 17:45
Ok, merci beaucoup !