Authentification en php
Rebuffat
-
Luffy_87 Messages postés 10 Statut Membre -
Luffy_87 Messages postés 10 Statut Membre -
Bonsoir,
Voila mon souci.J'ai une base de donnee. Les champs de ma base sont
Login et Password.
J'ai les pages index.php et password.php et Acces_BDPROJETS.php
et visu_base.php.
Je souhaite apres authentification voir la page visu_base.php.
Mais ca marche pas. Est ce que quelqu'un a une idee.
Ce serait super cool merci. Et si le scripty de connexion à la base de données MYSQL interesse quelqu'un surotu qu'il se serve.De même pour le formulaire index.php.
Dans index.php j 'ai le formulaire :
Voila mon souci.J'ai une base de donnee. Les champs de ma base sont
Login et Password.
J'ai les pages index.php et password.php et Acces_BDPROJETS.php
et visu_base.php.
Je souhaite apres authentification voir la page visu_base.php.
Mais ca marche pas. Est ce que quelqu'un a une idee.
Ce serait super cool merci. Et si le scripty de connexion à la base de données MYSQL interesse quelqu'un surotu qu'il se serve.De même pour le formulaire index.php.
Dans index.php j 'ai le formulaire :
<table border="0" cellspacing="5" cellpadding="5" bgcolor="#CCCCCC">
<form method="get" action="password.php">
<tr>
<td><strong>Login</strong></td>
<td><input type="text" size="10" name="f_user"></td>
</tr>
<tr>
<td><strong>Password</strong></td>
<td><input type="password" size="10" name="f_pass"></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name ="submit" value="Envoyer">
</tr
</form>
</table>
Dans password.php :
<?php require_once("Acces_BDPROJETS.php");
/* $query = "Select * from utilisateur where Login='$f_user'";
$result = mysql_query($query) or die ("Error dans la requête : $query. " . mysql_error());
if (mysql_num_rows($result) == 0) {
echo "Login incorrect";
}
else {
$row = mysql_fetch_object($result);
$dbpasswd = $row->PassWord;
if ($dbpasswd == $f_pass) {
echo "Login et mot de passe OK";
header("Location:visu_base.php");
}
else {
echo "Mot de passe incorrect";
}*/
mysql_select_db($database_canalbd,$connexion);
$query = "SELECT Login,Password FROM utilisateur WHERE Login =$f_user and Password=$f_pass ";
$result = mysql_query($query);
session_start();
if(!session_is_registered(Login)) {
echo "<center>Vous devez vous identifier pour accéder à cette page</center>";
require_once ("index.php");
}
else {
echo "<center>Bienvenu sur votre espace membre $f_user</center>";
}
header("Location: visu_base.php");
?>
<body>
</body>
</html>
Dans AccesBD_PROJETS.php :
<? php
$hostname_canalbd="localhost";
$username_canalbd="root";
$password_canalbd="";
$database_canalbd="BDPROJETSMYSQL";
// ici cette variable permet l'ouverture de la connexion
$connexion=mysql_pconnect($hostname_canalbd,$username_canalbd,$password_canalbd,$database_canalbd) or die(mysql_error());
?>
A voir également:
- Authentification en php
- Double authentification google - Guide
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Code a 6 chiffres application d'authentification instagram - Forum Instagram
- Php alert ✓ - Forum PHP
7 réponses
J'ai resolu mon souci mais maintenant pour aller plus loin je voudrai pouvoir dire lorsque le mot de passe est erronne " Mot de passe ou login invalide" et faire une redirection vers une page erreur ( erreur.php).
Ou dois je metre mon message d'erreur. Je redonne mon code juste.
Ou dois je metre mon message d'erreur. Je redonne mon code juste.
<?php
require_once('Acces_BDPROJETS.php');
mysql_select_db($database_canalbd, $connexion) or die ("problème dans selection base");
$selectlogpass="select Login, Password from utilisateur where Login='".$login."' and Password='".$password."'";
//EXECUTION DE LA REQUETE
$Result=mysql_db_query ($database_canalbd,$selectlogpass) or die("Erreur dans la requête");
// SI AUCUN ENREGISTREMENT TROUVE
if(mysql_num_rows($Result)==0)
{
header('location: index.php');
}
// ON ACCEDE A visu_base.php
else
{
session_start();// on démarre une session des lors que login et password sont valides
// On enregistre les variables login et password dans la session en cours
session_register("login");// Attention, pas de signe $ dans le session_register
session_register("password");
header('location: visu_base.php');
}
// DECONNEXION MYSQL
mysql_close();
?>
<body>
</body>
</html>
je n'ai aucun espace ni caractere avant le header. Ou alors je ne le vois pas.
Tu es sur que mon erreur viens de la.
Pour ce qui est de get et post je le savais merci du tuyau mais come je suis en cours de developpement j'ai refere mettre get pour voir si mes variables passent correctement.
Tu es sur que mon erreur viens de la.
Pour ce qui est de get et post je le savais merci du tuyau mais come je suis en cours de developpement j'ai refere mettre get pour voir si mes variables passent correctement.
meme pb que toi moi ca viens de header("Location:visu_base.php");
il y a aucune redirection de la page et une grosse erreur que je ne comprends pas (bien sur!!) si tu as la solution entre temps, indique la ! Bon courage
il y a aucune redirection de la page et une grosse erreur que je ne comprends pas (bien sur!!) si tu as la solution entre temps, indique la ! Bon courage
C'est bon j'ai resolu mon souci; J'ai vu plusieurs erreurs. J'ai tout corrige et maintenant si quelqu'un a besoin de mon bout de code n'hesitez pas à mpe le demander.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci pour le renseignement mais ça vient apparemment de windows 7 car le code marche sous xp.
Par contre j'ai un problème sur le fichier password.php au niveau du select* from ma_table where login='".$login."'........
Undefined variable : password in C:/.......... on line 5
select * from identification where login= and password=Erreur dans la requête.
Par contre j'ai un problème sur le fichier password.php au niveau du select* from ma_table where login='".$login."'........
Undefined variable : password in C:/.......... on line 5
select * from identification where login= and password=Erreur dans la requête.
Salut,
Plusieurs probleme dans ton script.
La methode GET est trè mauvaise dans ton formulaire, ton mot de passe apparaitra en clair dans l'url. Comme ca, n'importe qui qui regarde par dessus ton épaule connais ton mot de passe. Il faut preferer une methode POST qui en plus permet de tranferer plus de 250 caractères.
Le header, tu dois avoir un message du style headers already sent, pas vrai ? Aucun caractere quelqu'il soit (meme un espace) ne doit etre affiché avant un header.
Après ca fonctionnera.
Pour le reste, j'ai pas compris ou étais veritablement ton probleme...
Kalamit,
Parle à ma culasse, mon carter est malade. :)
Plusieurs probleme dans ton script.
La methode GET est trè mauvaise dans ton formulaire, ton mot de passe apparaitra en clair dans l'url. Comme ca, n'importe qui qui regarde par dessus ton épaule connais ton mot de passe. Il faut preferer une methode POST qui en plus permet de tranferer plus de 250 caractères.
Le header, tu dois avoir un message du style headers already sent, pas vrai ? Aucun caractere quelqu'il soit (meme un espace) ne doit etre affiché avant un header.
Après ca fonctionnera.
Pour le reste, j'ai pas compris ou étais veritablement ton probleme...
Kalamit,
Parle à ma culasse, mon carter est malade. :)
Tu dis simplement que ut as un probleme au niveau de la variable $databasecanalbd , mais tu ne me dis pas quel message d'erreur tu as.
Dans la variable $connexion j'ai ceci :
$connexion = mysql_connect("hostname_canalbd", "$username_canalbd", "$password_canalbd")
hostname_canalbd = 127.0.0.1 si tu developpes avec easy php sur ton poste : c'est de la que vient l'erreur j'ai pas mis de $devant la variable.
username_canalbd= le user pour acceder à ta base mysql
password_canalbd = le password pour accceder à ta base mysql
J'espere que cela te permettra d'avancer. N'hesites pas à me recontacter