Création session perso + authentification
picti90
Messages postés
14
Statut
Membre
-
THEINVINCIBLE Messages postés 4 Statut Membre -
THEINVINCIBLE Messages postés 4 Statut Membre -
Bonjour,
Je suis actuellement en train de créer un site internet. Sur ce site, les personnes inscrites dans une bases de données (easyphp) doivent pouvoir ouvrir leur propre session, mais j'avoue que je galère un peu.
Voila ce que j'ai déjà fait : j'ai créer un formulaire d'authentification (identifiant+password) et j'y est inclu un fichier php pour vérifier si le mot de passe et identifiant tapés existent auquel cas l'utilisateur et redirigé vers une page "espace perso" ou vers une page d'erreur de connexion. Problème : quand je valide le formulaire de connexion, au lieu de faire la vérification il me demande si je veux télécharger le fichier php de vérification !
-Premièrement le formulaire :
<html>
<head>
<title>Authentification </title>
</head>
<body>
<form action=verification_login.php method="get" name="Authentification">
Identifiant : <input type="text" name="username" size="20"><br>
Mot de passe : <input type="password" name="login" size="20"><br>
<br>
<input Type="Submit" Name="connect" Value="Connexion">
<br>
<a href="C:\Documents and Settings\Samuel\Mes documents\Lycée et éducation\GSI\Projet\Projet gite du jura\Projet gite du jura (doc donnés par les profs)\index.htm">RETOUR</a>
</form>
</body>
</HTML>
- Deuxièmement, le fichier de vérification :
<?
// Connexion au serveur puis à la base de données
$idconnexion=mysql_connect('localhost','root','root') or die("Désolé, connexion impossible au serveur !");
$bd1=mysql_select_db('gitedujura') or die("Désolé, la connexion à la base de données est impossible");
//Verification de l'identifiant
$username=identifiant
if ($username=identifiant)
{
Action=espace_perso.htm
}
else
{
Action=connect_failed.htm
}
//Verification du mot de passe
$login=password
if ($login=password)
{
Action=espace_perso.htm
}
else
{
Action=connect_failed.htm
}
?>
Autre problème, dans l'espace perso cette fois, je galère un peu pour afficher les données personnelles de l'utilisateur en fonction de l'identifiant et du mot de passe donné.
Alors, voila j'espère que vous pourrez me dire ce qui ne convient pas, ce qu'il faut faire... Merci, c'est urgent !
Je suis actuellement en train de créer un site internet. Sur ce site, les personnes inscrites dans une bases de données (easyphp) doivent pouvoir ouvrir leur propre session, mais j'avoue que je galère un peu.
Voila ce que j'ai déjà fait : j'ai créer un formulaire d'authentification (identifiant+password) et j'y est inclu un fichier php pour vérifier si le mot de passe et identifiant tapés existent auquel cas l'utilisateur et redirigé vers une page "espace perso" ou vers une page d'erreur de connexion. Problème : quand je valide le formulaire de connexion, au lieu de faire la vérification il me demande si je veux télécharger le fichier php de vérification !
-Premièrement le formulaire :
<html>
<head>
<title>Authentification </title>
</head>
<body>
<form action=verification_login.php method="get" name="Authentification">
Identifiant : <input type="text" name="username" size="20"><br>
Mot de passe : <input type="password" name="login" size="20"><br>
<br>
<input Type="Submit" Name="connect" Value="Connexion">
<br>
<a href="C:\Documents and Settings\Samuel\Mes documents\Lycée et éducation\GSI\Projet\Projet gite du jura\Projet gite du jura (doc donnés par les profs)\index.htm">RETOUR</a>
</form>
</body>
</HTML>
- Deuxièmement, le fichier de vérification :
<?
// Connexion au serveur puis à la base de données
$idconnexion=mysql_connect('localhost','root','root') or die("Désolé, connexion impossible au serveur !");
$bd1=mysql_select_db('gitedujura') or die("Désolé, la connexion à la base de données est impossible");
//Verification de l'identifiant
$username=identifiant
if ($username=identifiant)
{
Action=espace_perso.htm
}
else
{
Action=connect_failed.htm
}
//Verification du mot de passe
$login=password
if ($login=password)
{
Action=espace_perso.htm
}
else
{
Action=connect_failed.htm
}
?>
Autre problème, dans l'espace perso cette fois, je galère un peu pour afficher les données personnelles de l'utilisateur en fonction de l'identifiant et du mot de passe donné.
Alors, voila j'espère que vous pourrez me dire ce qui ne convient pas, ce qu'il faut faire... Merci, c'est urgent !
A voir également:
- Création session perso + authentification
- Creation compte gmail - Guide
- Création site web - Guide
- Création compte google - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Double authentification google - Guide
10 réponses
oulala
ben deja faudra mettre ton lien retour ne relatif si tout ton site il pointe sur C:/doc and setting ton site il marchera que en local
o ton form est mal configuré: un logon c'est un POST (de préférence)
o apres ton script il sait pas comment récupérer tes infos du formulaire
$username=$_POST["username"];
$login=$_POST["login"];
et il manque la moitié de tes commandes mysql
en fait tu te connecte a ta DB mais tu lui demande rien
il te manque la requete qui va ter renvoyer le pass a partir du nom d'utilisateur
et apres eulement tu verifie si le pass est bon (pas le nom d'utilsateur dette facon si il est mauvais le script planet et s'arrete)
ben deja faudra mettre ton lien retour ne relatif si tout ton site il pointe sur C:/doc and setting ton site il marchera que en local
o ton form est mal configuré: un logon c'est un POST (de préférence)
o apres ton script il sait pas comment récupérer tes infos du formulaire
$username=$_POST["username"];
$login=$_POST["login"];
et il manque la moitié de tes commandes mysql
en fait tu te connecte a ta DB mais tu lui demande rien
il te manque la requete qui va ter renvoyer le pass a partir du nom d'utilisateur
et apres eulement tu verifie si le pass est bon (pas le nom d'utilsateur dette facon si il est mauvais le script planet et s'arrete)
Merci pour ces précieuses informations. J'ai corrigé ce que tu m'as dit mais il reste un problème : quand je clique sur le bouton valide du formulaire d'authentification, il ne se passe rien.
Voila le script du formulaire :
<html>
<head>
<title>Authentification </title>
</head>
<body>
<form action=verification_login.php method="post" name="Authentification">
Identifiant : <input type="text" name="id" size="20"><br>
Mot de passe : <input type="password" name="mp" size="20"><br>
<br>
<input Type="button" onclick=verification_login.php Value="Connexion">
<br>
<a href="index.htm">RETOUR</a>
</form>
</body>
</HTML>
Qu'est ce qu'il ne va pas ? C'es pas onclik ??... ou quelque chose du genre, merci d'avance pour les réponses.
Voila le script du formulaire :
<html>
<head>
<title>Authentification </title>
</head>
<body>
<form action=verification_login.php method="post" name="Authentification">
Identifiant : <input type="text" name="id" size="20"><br>
Mot de passe : <input type="password" name="mp" size="20"><br>
<br>
<input Type="button" onclick=verification_login.php Value="Connexion">
<br>
<a href="index.htm">RETOUR</a>
</form>
</body>
</HTML>
Qu'est ce qu'il ne va pas ? C'es pas onclik ??... ou quelque chose du genre, merci d'avance pour les réponses.
salut alor pour le bouton
<input type="submit" name="connexion" value="Connexion">
reessey comme sa
<input type="submit" name="connexion" value="Connexion">
reessey comme sa
Merci mais un problème persiste : quand je clique sur le bouton connexion : il y a une boite de dialogue qui apparait et qui me propose de télécharger le fichier de vérification du login en php, or, je veux que ca se connecte à l'espace perso en utilisant ce fichier php. Sinon, voila le fichier php, est ce que ca va ?
<title>verification_login</title>
<?
// Connexion au serveur puis à la base de données
$idconnexion=mysql_connect('localhost','root','root') or die("Désolé, connexion impossible au serveur !");
$connectbdd=mysql_select_db('gitedujura') or die("Désolé, la connexion à la base de données est impossible");
//Recherche du mot de passe en fonction de l'identifiant
$username=$_POST["id"];
$login=$_POST["mp"];
$motpasse="select password from PROPRIO and identifiant=username";
//Verification du mot de passe
if ($login=$motpasse)
{
Action=espace_perso.htm
}
else
{
Action=connect_failed.htm
}
?>
<title>verification_login</title>
<?
// Connexion au serveur puis à la base de données
$idconnexion=mysql_connect('localhost','root','root') or die("Désolé, connexion impossible au serveur !");
$connectbdd=mysql_select_db('gitedujura') or die("Désolé, la connexion à la base de données est impossible");
//Recherche du mot de passe en fonction de l'identifiant
$username=$_POST["id"];
$login=$_POST["mp"];
$motpasse="select password from PROPRIO and identifiant=username";
//Verification du mot de passe
if ($login=$motpasse)
{
Action=espace_perso.htm
}
else
{
Action=connect_failed.htm
}
?>
je ne sais pas quesque tu veux dire avec sa :
$motpasse="select password from PROPRIO and identifiant=username";
sa ne marche pas!!!!
tu recherche le mot de passe en fonction de l'identifiant:
$motpasse="select password from PROPRIO and identifiant=username";
sa ne marche pas!!!!
tu recherche le mot de passe en fonction de l'identifiant:
$motpasse = "SELECT password FROM PROPRIO WHERE identifiant = '".$username."' " ;
ecoute moi je lai deja fai je t'envoi mon code source le voila
<?php
c'esl le fichiier "connexion.php"
//----------------------------------------------------
//Connexion a la base de donnees
//----------------------------------------------------
mysql_connect($hote,$user,$password);
mysql_select_db($bdd);
//----------------------------------------------------
//securiser les variables
//----------------------------------------------------
$login = html($_POST['name']);
$pass_md5 = md5(html($_POST['password']));
$requete=mysql_query("SELECT * FROM `users` WHERE pseudo='$login' AND mdp='$pass_md5'" );
$cpt=mysql_numrows($requete);
if ($cpt==1)
{
$result=mysql_fetch_assoc($requete);
$_SESSION['connected'] = true;
$_SESSION['pseudo'] = $result['pseudo'];
$_SESSION['type'] = $result['type'];
echo "<br/>Connexion etablie pour <b>".$_SESSION['pseudo']."</b><br/><br/><br/>";
redirection(3);
echo "<br/>";
}
else
{
echo "ce compte n'existe pas ";
echo "<br/>$login $pass_md5";
}
?>
//_ _ _ _ _ _ _ __ _ _ _ _ __ _ _ ___fichier"form_connexion.php__ _ _ _ _ __ _ _ _ _ _ __ _ __ _ _ _ _ _ _ _ __ _ _ _ _ __ _ _ _ _ _
<?php
if($_SESSION["connected"]!=true){
?>
<form method="post" action="?p=connexion.php" name="login" >
<h2>Espace membre</h2>
<label>Votre pseudo</label>
<input name="name" type="text" id="name" />
<label>Votre mot de passe</label>
<input name="password" type="password" id="password" />
</form>
<?php
}
else{
?>
<ul>
<li>Bienvenue <b><?php echo $_SESSION['pseudo'];?></b>,</li>
<li><a href='?p=compte.php'>Mon compte</a></li>
<li><a href='?p=deconnexion.php'>Deconnexion</a></li>
</ul>
</div>
<?php
}
?>//__ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
fichier deconnexion.php
_ _ _ _ _ _ _ _ _ _ _ _ _ __ _
<?php
session_unset();
session_destroy();
echo '<meta http-equiv="refresh" content="0; URL=index.php" />';
?>
ps: n'oublie pas de creer ta table avec ces champ/et enregistre ces fichiers dans ton dossier www comme avec les nons que je t les ai donné
voila si sa marche pas fai moi signe;enfet ton prbleme dans ton fichier peu etre tu le lance pas du "localhost "c pour sa tu cette boite de dialogue.
<?php
c'esl le fichiier "connexion.php"
//----------------------------------------------------
//Connexion a la base de donnees
//----------------------------------------------------
mysql_connect($hote,$user,$password);
mysql_select_db($bdd);
//----------------------------------------------------
//securiser les variables
//----------------------------------------------------
$login = html($_POST['name']);
$pass_md5 = md5(html($_POST['password']));
$requete=mysql_query("SELECT * FROM `users` WHERE pseudo='$login' AND mdp='$pass_md5'" );
$cpt=mysql_numrows($requete);
if ($cpt==1)
{
$result=mysql_fetch_assoc($requete);
$_SESSION['connected'] = true;
$_SESSION['pseudo'] = $result['pseudo'];
$_SESSION['type'] = $result['type'];
echo "<br/>Connexion etablie pour <b>".$_SESSION['pseudo']."</b><br/><br/><br/>";
redirection(3);
echo "<br/>";
}
else
{
echo "ce compte n'existe pas ";
echo "<br/>$login $pass_md5";
}
?>
//_ _ _ _ _ _ _ __ _ _ _ _ __ _ _ ___fichier"form_connexion.php__ _ _ _ _ __ _ _ _ _ _ __ _ __ _ _ _ _ _ _ _ __ _ _ _ _ __ _ _ _ _ _
<?php
if($_SESSION["connected"]!=true){
?>
<form method="post" action="?p=connexion.php" name="login" >
<h2>Espace membre</h2>
<label>Votre pseudo</label>
<input name="name" type="text" id="name" />
<label>Votre mot de passe</label>
<input name="password" type="password" id="password" />
</form>
<?php
}
else{
?>
<ul>
<li>Bienvenue <b><?php echo $_SESSION['pseudo'];?></b>,</li>
<li><a href='?p=compte.php'>Mon compte</a></li>
<li><a href='?p=deconnexion.php'>Deconnexion</a></li>
</ul>
</div>
<?php
}
?>//__ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
fichier deconnexion.php
_ _ _ _ _ _ _ _ _ _ _ _ _ __ _
<?php
session_unset();
session_destroy();
echo '<meta http-equiv="refresh" content="0; URL=index.php" />';
?>
ps: n'oublie pas de creer ta table avec ces champ/et enregistre ces fichiers dans ton dossier www comme avec les nons que je t les ai donné
voila si sa marche pas fai moi signe;enfet ton prbleme dans ton fichier peu etre tu le lance pas du "localhost "c pour sa tu cette boite de dialogue.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
OUlala, c un peu compliqué mais y a un problème, primo, le fichier form_connexion ne devrait il pas être en .htm ? ensuite, quand je le met en .htm, j'arrive donc sur une page qui permet de donner un mot de passe, un identifiant, mais il y a pas de bouton pour se connecter. Par ailleurs, sur cette page, y a le formulaire de connexion mais aussi un truc qui s'appelle bienvenu, mon compte et déconnexion dans la page de formulaire de connexion. Est ce que je devrais pas mettre cette partie de code dans une autre page HTML cette fois et sous quel nom ?
<ul>
<li>Bienvenue <b><?php echo $_SESSION['pseudo'];?></b>,</li>
<li><a href='?p=compte.php'>Mon compte</a></li>
<li><a href='?p=deconnexion.php'>Deconnexion</a></li>
</ul>
</div>
<?php
}
?>
Par ailleurs, si c bien ca, est-ce que je dois mettre un bouton connexion dans le formulaire (de quel type...) et ou dans la page connexion.php dois je mettre le lien qui mène à la nouvelle page HTML mon compte. Merci pour tes précieuses infos.
<ul>
<li>Bienvenue <b><?php echo $_SESSION['pseudo'];?></b>,</li>
<li><a href='?p=compte.php'>Mon compte</a></li>
<li><a href='?p=deconnexion.php'>Deconnexion</a></li>
</ul>
</div>
<?php
}
?>
Par ailleurs, si c bien ca, est-ce que je dois mettre un bouton connexion dans le formulaire (de quel type...) et ou dans la page connexion.php dois je mettre le lien qui mène à la nouvelle page HTML mon compte. Merci pour tes précieuses infos.
Bonjour,
Tu travailles sous quel OS? Windows? Linux? Et avec quel serveur web?
Vérifie bien que php5 est bien installé et que ton serveur web est bien configuré!
Tu travailles sous quel OS? Windows? Linux? Et avec quel serveur web?
Vérifie bien que php5 est bien installé et que ton serveur web est bien configuré!
Non, je n'utilise pas wamp. Je réitère ma question :
OUlala, c un peu compliqué mais y a un problème, primo, le fichier form_connexion ne devrait il pas être en .htm ? ensuite, quand je le met en .htm, j'arrive donc sur une page qui permet de donner un mot de passe, un identifiant, mais il y a pas de bouton pour se connecter. Par ailleurs, sur cette page, y a le formulaire de connexion mais aussi un truc qui s'appelle bienvenu, mon compte et déconnexion dans la page de formulaire de connexion. Est ce que je devrais pas mettre cette partie de code dans une autre page HTML cette fois et sous quel nom ?
<ul>
<li>Bienvenue <b><?php echo $_SESSION['pseudo'];?></b>,</li>
<li><a href='?p=compte.php'>Mon compte</a></li>
<li><a href='?p=deconnexion.php'>Deconnexion</a></li>
</ul>
</div>
<?php
}
?>
Par ailleurs, si c bien ca, est-ce que je dois mettre un bouton connexion dans le formulaire (de quel type...) et ou dans la page connexion.php dois je mettre le lien qui mène à la nouvelle page HTML mon compte. Merci pour tes précieuses infos.
OUlala, c un peu compliqué mais y a un problème, primo, le fichier form_connexion ne devrait il pas être en .htm ? ensuite, quand je le met en .htm, j'arrive donc sur une page qui permet de donner un mot de passe, un identifiant, mais il y a pas de bouton pour se connecter. Par ailleurs, sur cette page, y a le formulaire de connexion mais aussi un truc qui s'appelle bienvenu, mon compte et déconnexion dans la page de formulaire de connexion. Est ce que je devrais pas mettre cette partie de code dans une autre page HTML cette fois et sous quel nom ?
<ul>
<li>Bienvenue <b><?php echo $_SESSION['pseudo'];?></b>,</li>
<li><a href='?p=compte.php'>Mon compte</a></li>
<li><a href='?p=deconnexion.php'>Deconnexion</a></li>
</ul>
</div>
<?php
}
?>
Par ailleurs, si c bien ca, est-ce que je dois mettre un bouton connexion dans le formulaire (de quel type...) et ou dans la page connexion.php dois je mettre le lien qui mène à la nouvelle page HTML mon compte. Merci pour tes précieuses infos.
voila moi je travaille sous vista et mon serveur local est le wamp
alor dabord dans ce genre de fichier de connection jai utiliser les variables session
voila je te donne un autr et essey le sinn contacte moi dans mon msn dalambr18@hotmail.com
alor tu peu mettre le tout dans un seul fivhier php comme tu peu séparré voila moi mon fichier s'appel "connadmin.php"
<html>
<head>
<title>Accueil</title>
</head>
<body>
Connexion à l'espace membre :<br />
<form action="connadmin.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo
htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])
) echo htmlentities(trim($_POST['pass'])); ?>"><br />
<input type="submit" name="connexion" value="Connexion">
</form>
<?php
if(isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion'){
//----------------------------------------------------
//Connexion a la base de donnees
//----------------------------------------------------
mysql_connect('localhost','root','');
mysql_select_db ('base');
//----------------------------------------------------
//securiser les variables
//----------------------------------------------------
$login = $_POST['login'];
$pass_md5 = $_POST['pass'];
$requete=mysql_query("SELECT * FROM `table` WHERE login='$login' AND pass_md5='$pass_md5'" );
$cpt=mysql_numrows($requete);
if ($cpt==1)
{
session_start();
$result=mysql_fetch_assoc($requete);
$_SESSION['connected'] = true;
$_SESSION['login'] = $result['login'];
echo "<br/>Connexion etablie pour <b>".$_SESSION['login']."</b><br/><br/><br/>";
include('administration(1).php');
exit();
}
?>
</body>
</html>
voila dans le deuxieme fichier cad du membr tu fai sa:
<?php
session_start();
if (!isset($_SESSION['login']))
{
header ('Location: connadmin.php');
exit();
}
?>
<html>
<head>
<title>Espace membre</title>
</head>
<body>
<p> bonjour tt le monde</p>
<a href='deconnexion.php'>Deconnexion</a>
</body>
</html>
alor dabord dans ce genre de fichier de connection jai utiliser les variables session
voila je te donne un autr et essey le sinn contacte moi dans mon msn dalambr18@hotmail.com
alor tu peu mettre le tout dans un seul fivhier php comme tu peu séparré voila moi mon fichier s'appel "connadmin.php"
<html>
<head>
<title>Accueil</title>
</head>
<body>
Connexion à l'espace membre :<br />
<form action="connadmin.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo
htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])
) echo htmlentities(trim($_POST['pass'])); ?>"><br />
<input type="submit" name="connexion" value="Connexion">
</form>
<?php
if(isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion'){
//----------------------------------------------------
//Connexion a la base de donnees
//----------------------------------------------------
mysql_connect('localhost','root','');
mysql_select_db ('base');
//----------------------------------------------------
//securiser les variables
//----------------------------------------------------
$login = $_POST['login'];
$pass_md5 = $_POST['pass'];
$requete=mysql_query("SELECT * FROM `table` WHERE login='$login' AND pass_md5='$pass_md5'" );
$cpt=mysql_numrows($requete);
if ($cpt==1)
{
session_start();
$result=mysql_fetch_assoc($requete);
$_SESSION['connected'] = true;
$_SESSION['login'] = $result['login'];
echo "<br/>Connexion etablie pour <b>".$_SESSION['login']."</b><br/><br/><br/>";
include('administration(1).php');
exit();
}
?>
</body>
</html>
voila dans le deuxieme fichier cad du membr tu fai sa:
<?php
session_start();
if (!isset($_SESSION['login']))
{
header ('Location: connadmin.php');
exit();
}
?>
<html>
<head>
<title>Espace membre</title>
</head>
<body>
<p> bonjour tt le monde</p>
<a href='deconnexion.php'>Deconnexion</a>
</body>
</html>