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
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 199 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 30 septembre 2019 20
29 oct. 2012 à 10:28
Up plz !
0
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
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 199 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 30 septembre 2019 20
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";

?>
0
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
Peux-tu mettre également ton formulaire?
0
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
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 199 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 30 septembre 2019 20
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";
}
?>
0
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
Le formulaire c'est le code HTML contenu entre les balises <form> et </form> avec les champs à remplir (<input />).
0
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
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 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
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 199 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 30 septembre 2019 20
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 !
0
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
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 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
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>';
}
0
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
Ok, merci beaucoup !
0