Authentification en php

Fermé
Rebuffat - 27 nov. 2003 à 17:09
Luffy_87 Messages postés 10 Date d'inscription mardi 15 septembre 2009 Statut Membre Dernière intervention 16 septembre 2010 - 21 sept. 2009 à 15:11
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 :

<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:

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.


<?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>
2
Luffy_87 Messages postés 10 Date d'inscription mardi 15 septembre 2009 Statut Membre Dernière intervention 16 septembre 2010
18 sept. 2009 à 11:11
J'ai utilisé le code mais il semble y avoir un problème au niveau de la page AccesBD_PROJETS.php à la ligne 7 j'ai mis le nom de ma table après $database_canalbd= quelle est le problème?
0
Rebuffat > Luffy_87 Messages postés 10 Date d'inscription mardi 15 septembre 2009 Statut Membre Dernière intervention 16 septembre 2010
18 sept. 2009 à 20:26
Peux tu me dire quel est ton problème.
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.
0
Rebuffat > Luffy_87 Messages postés 10 Date d'inscription mardi 15 septembre 2009 Statut Membre Dernière intervention 16 septembre 2010
18 sept. 2009 à 20:34
Petite info supplementaire :

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
0
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.
0
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
0
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.
0
si vous pouver m'envoyer le code de ta source identification et mot de passe
0
j'aimerai voir ton code stp
0
kahinatafat
10 mars 2008 à 15:53
bonjour; j'ai un problème avec le scripte et j'ai envie de tout changer a ce que je peut avoir les etapes de ton scripte svp .
0

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

Posez votre question
Luffy_87 Messages postés 10 Date d'inscription mardi 15 septembre 2009 Statut Membre Dernière intervention 16 septembre 2010
21 sept. 2009 à 15:11
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.
0
Utilisateur anonyme
27 nov. 2003 à 17:18
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. :)
-1
Utilisateur anonyme
3 déc. 2003 à 11:54
J'avais pas vu ta réponse:
T'as du trouver depuis, mais bon... Y'a ca avant le header: echo "Login et mot de passe OK";
C'est pour ca que la redirection ne se fait pas. :)

Kalamit,
Parle à ma culasse, mon carter est malade. :)
-1