Lightbox de login
Résolu
killjulien
Messages postés
222
Statut
Membre
-
killjulien Messages postés 222 Statut Membre -
killjulien Messages postés 222 Statut Membre -
Bonjour, je voulais savoir comment je pouvais faire pour créer une lightbox de login. J'ai réussis a créer la lightbox en cherchant un code jQuerry sur le net, mais je n'y connais absolument rien en PHP !
Comment faire pour insérer un code de connexion dans cette lightbox ?
Voilà mon code :
Merci pour votre aide !
Comment faire pour insérer un code de connexion dans cette lightbox ?
Voilà mon code :
<html>
<head>
<script> <!-- Code pour la box de login -->
function displayBox() {
var filter = document.getElementById('filter');
var box = document.getElementById('box');
if(filter.offsetHeight) {
filter.style.display = 'none';
return false;
}
filter.style.display = 'block';
box.style.marginLeft = '-'+ (box.offsetWidth / 2) +'px';
box.style.marginTop = (box.offsetHeight / 2) * -1 +'px';
}
</script>
</head>
<body>
Ici le code de ma page..............
<div id="filter" onclick="displayBox()">
<div id="box">
<p> Nom d'utilisateur : </p>
<p> Mot de passe : </p>
</body> <!-- Fin du corps -->
</html> <!-- Fin de la page -->
Merci pour votre aide !
6 réponses
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. »
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";
?>
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";
}
?>
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
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 !
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é ?
"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>';
}