Lightbox de login

Résolu
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 :

<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

killjulien Messages postés 222 Statut Membre 20
 
Up plz !
0
arthezius Messages postés 3756 Statut Membre 475
 
Il faut dans un premier temps fermer les balises <div>

<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. »
0
killjulien Messages postés 222 Statut Membre 20
 
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";

?>
0
arthezius Messages postés 3756 Statut Membre 475
 
Peux-tu mettre également ton formulaire?
0
killjulien Messages postés 222 Statut Membre 20
 
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..
0
killjulien Messages postés 222 Statut Membre 20
 
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";
}
?>
0
arthezius Messages postés 3756 Statut Membre 475
 
Le formulaire c'est le code HTML contenu entre les balises <form> et </form> avec les champs à remplir (<input />).
0
killjulien Messages postés 222 Statut Membre 20
 
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>
0
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription   Statut Membre Dernière intervention   208
 
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
<?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"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
killjulien Messages postés 222 Statut Membre 20
 
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 !
0
killjulien Messages postés 222 Statut Membre 20
 
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é ?
0
arthezius Messages postés 3756 Statut Membre 475
 
"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>';
}
0
killjulien Messages postés 222 Statut Membre 20
 
Ok, merci beaucoup !
0