Rechercher : dans
Par :

Authentification en php

Dernière réponse le 21 sep 2009 à 15:11:02 Rebuffat, le 27 nov 2003 à 17:09:32 
 Signaler ce message aux modérateurs

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());

?>

Meilleures réponses pour « authentification en php » dans :
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
[PHP] Parse error, unexpected T_STRING, expecting ',' or ';' VoirCette erreur, fréquente, se produit notamment lorsqu'un guillemet est présent dans une chaîne délimitée par ce même type de guillemets, par exemple :
Télécharger PHP Edit VoirPHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de fonctionnalités permettant de développer plus efficacement : Coloration syntaxique Auto-complétion des...
Télécharger PHP FTP Synchronizer VoirLa mise à jour de site web est aussi complexe que sa conception. Alors il faut utiliser le bon outil avec les bon paramètres et une bonne connaissance de programmation pour mettre à jour un site. PHP FTP Synchronizer est une application vous...
PHP - Connexion à un annuaire LDAP VoirIntroduction à LDAP PHP permet la connexion et l'envoi de requêtes sur un annuaire LDAP, c'est-à-dire un serveur permettant de stocker des informations de manière hiérarchique. Un serveur LDAP est conçu pour être capable de gérer les opérations...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
Introduction à PHP VoirQu'est-ce que PHP? PHP est un langage interprété (un langage de script) exécuté du côté serveur (comme les scripts CGI, ASP, ...) et non du côté client (un script écrit en Javascript ou une applet Java s'exécute sur votre ordinateur...). La...

1

kalamit, le 27 nov 2003 à 17:18:14

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

Répondre à kalamit

2

Rebuffat, le 28 nov 2003 à 10:39:44

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.

Répondre à Rebuffat

3

chris, le 29 nov 2003 à 21:38:10

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

Répondre à chris

4

Rebuffat, le 3 déc 2003 à 11:50:00

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.

Répondre à Rebuffat

7

benmaeur, le 2 mar 2005 à 11:18:28

Si vous pouver m'envoyer le code de ta source identification et mot de passe

Répondre à benmaeur

8

sahouma, le 7 mar 2008 à 02:53:34
  • +1

J'aimerai voir ton code stp

Répondre à sahouma

9

kahinatafat, le 10 mar 2008 à 15:53:47

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 .

Répondre à kahinatafat

5

kalamit, le 3 déc 2003 à 11:54:30

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

Répondre à kalamit

6

Rebuffat, le 3 déc 2003 à 12:11:24
  • +2

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>

Répondre à Rebuffat

10

Luffy_87, le 18 sep 2009 à 11:11:15

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?

Répondre à Luffy_87

11

Rebuffat, le 18 sep 2009 à 20:26:23

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.

Répondre à Rebuffat

12

Rebuffat, le 18 sep 2009 à 20:34:39

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

Répondre à Rebuffat

13

 Luffy_87, le 21 sep 2009 à 15:11:02

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.

Répondre à Luffy_87
Collection CommentÇaMarche.net