Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 19/03/2010, 17h06   #1
Invité de passage
 
BDEDD WALA
Inscription : décembre 2009
Messages : 14
Détails du profil
Informations personnelles :
Nom : BDEDD WALA

Informations forums :
Inscription : décembre 2009
Messages : 14
Points : 1
Points : 1
Par défaut code php pour s'identifier

bonjour je suis débutant en php, j'ai crée un formulaire pour le but q'un client doit etre s'identifier avant l'acce a la page d'acceuille le client peut être utilisateur ou administrateur et pour cela je fait une table membre(pseudo,pass) a chaque type de client
si est utilisateur il peut accéder a ACCutilisateur .php si administrateur ACCadmin.php
mais j'ai un problem a l'execution il m'affiche la page de ACCadmin.php le voila le code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<html><body>
     <form name='form' method='post' action='authentification.php'>
     <table><tr><td width="544" align='center'><font color='#0256AA' size='2' face='Verdana'><b> Login :</b></font>
     </td>
     </tr><tr><td align='center'><input type='text' name='user_name' size='15'></td></tr><tr>
     <td align='center'><font color='#0256AA' size='2' face='Verdana'><b>Password :</b></font></td></tr><tr>
     <td align='center'><input type='password' name='password'  size='15'></td></tr><tr><td height="64" align='center'><br>
     <input type='submit' name='OK' value='Entrez'></td></tr></table></form>
     </body></html> 
<?php
 
$db_host="localhost";
$db_user="root";
$db_pass="";
$database="bddmax";
 
 
$link=mysql_connect($db_host,$db_user,$db_pass) or die("Impossible de se connecter à la base de donnée. !");
mysql_select_db($database) or die("Impossible de selectionner la base de donnée. La base de donnée n'existe pas..");
 
$query = "SELECT * FROM membre WHERE pseudo=' ".$_POST["user_name"]." ' AND pass=' ".$_POST["password"]." ' ";
 
$result = mysql_query($query,$link);
 
if(!$result){ print"<script>alert('Login ou password invalide.');</script>"; }
else{
 
while ($row= mysql_fetch_array($result))
{if ($row['pseudo'] == 'admin' )
 {print"<script>top.location.replace('ACCadmin.php');</script>"; }
else if($row['pseudo'] == 'user' ){
 print"<script>top.location.replace('ACCutilisateur.php');</script>";
 }}
?>

Dernière modification par sabotage ; 19/03/2010 à 17h15. Motif: Merci d'utiliser la balise [CODE] (bouton # de l'éditeur)
WALAA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2010, 17h20   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
1_ Place ton traitement avant ton formulaire HTML et fais une redirection avec header('Localtion: ....'); plutot qu'en Javascript.

2_ Protège les variables dans ton requête avec mysql_real_escape_string() sinon ton formulaire est une passoire.

3_ Fais attention, tu as des espaces qui trainent dans ta requête autour des identifiants.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2010, 17h43   #3
Invité de passage
 
BDEDD WALA
Inscription : décembre 2009
Messages : 14
Détails du profil
Informations personnelles :
Nom : BDEDD WALA

Informations forums :
Inscription : décembre 2009
Messages : 14
Points : 1
Points : 1
pouvez vous me diriger comment je peut le faire avec
mysql_real_escape_string()
WALAA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2010, 17h47   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Tu peux commencer par lire la documentation de la fonction et les centaines de sujet du forum qui en parle.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2010, 10h45   #5
Invité de passage
 
BDEDD WALA
Inscription : décembre 2009
Messages : 14
Détails du profil
Informations personnelles :
Nom : BDEDD WALA

Informations forums :
Inscription : décembre 2009
Messages : 14
Points : 1
Points : 1
Par défaut erreur

je corrige comme tu ma dit mais il ne marche pas je saisie le login et password puis taper le bouton mais rien me fonctionne je reste dans la meme page voila
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$db_host="localhost";
$db_user="root";
$db_pass="";
$database="bddmax";
$link=mysql_connect($db_host,$db_user,$db_pass) or die("Impossible de se connecter à la base de donnée. !");
mysql_select_db($database) or die("Impossible de selectionner la base de donnée. La base de donnée n'existe pas..");
$query = "SELECT * FROM membre WHERE pseudo=' ".mysql_real_escape_string($_POST["user_name"])." ' AND pass=' ".mysql_real_escape_string($_POST["password"])." ' ";
$result = mysql_query($query,$link);
if(!$result){ print"<script>alert('Login ou password invalide.');</script>"; }
else{
 while ($row= mysql_fetch_array($result))
{if ($row['pseudo'] == 'admin' )
 { header("Location:ACCadmin.php"); }
else if($row['pseudo'] == 'user' ){
 header("Location:ACCutilisateur.php");
 }}
?>
<html><body>
     <form name='form' method='post' action='authentification.php'>
     <table><tr><td width="544" align='center'><font color='#0256AA' size='2' face='Verdana'><b> Login :</b></font>
     </td>
     </tr><tr><td align='center'><input type='text' name='user_name' size='15'></td></tr><tr>
     <td align='center'><font color='#0256AA' size='2' face='Verdana'><b>Password :</b></font></td></tr><tr>
     <td align='center'><input type='password' name='password'  size='15'></td></tr><tr><td height="64" align='center'><br>
     <input type='submit' name='OK' value='Entrez'></td></tr></table></form>
     </body></html>

Dernière modification par sabotage ; 20/03/2010 à 10h49. Motif: Merci d'utiliser la balise [CODE] (bouton # de l'éditeur)
WALAA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2010, 10h51   #6
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Tu as toujours les espaces en trop dans ta requête.

Ajoute par contre un espace dans la redirection :
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2010, 11h29   #7
Invité de passage
 
BDEDD WALA
Inscription : décembre 2009
Messages : 14
Détails du profil
Informations personnelles :
Nom : BDEDD WALA

Informations forums :
Inscription : décembre 2009
Messages : 14
Points : 1
Points : 1
Par défaut rien ne change

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
<?php
$db_host="localhost";
$db_user="root";
$db_pass="";
$database="bddmax";
$link=mysql_connect($db_host,$db_user,$db_pass) or die("Impossible de se connecter à la base de donnée. !");
mysql_select_db($database) or die("Impossible de selectionner la base de donnée. La base de donnée n'existe pas..");
$query="SELECT * FROM membre WHERE pseudo=' ".mysql_real_escape_string($_POST["user_name"])." ' AND pass=' ".mysql_real_escape_string($_POST["password"])." ' ";
$result=mysql_query($query,$link);
if(!$result){ print"<script>alert('Login ou password invalide.');</script>"; }
else{
 while ($row=mysql_fetch_array($result))
{if ($row['pseudo']=='admin' )
 { header("Location: ACCadmin.php"); }
else if($row['pseudo']=='user' ){
 header("Location: ACCutilisateur.php");
 }}
?>
<html><body>
     <form name='form' method='post' action='authentification.php'>
     <table><tr><td width="544" align='center'><font color='#0256AA' size='2' face='Verdana'><b> Login :</b></font>
     </td>
     </tr><tr><td align='center'><input type='text' name='user_name' size='15'></td></tr><tr>
     <td align='center'><font color='#0256AA' size='2' face='Verdana'><b>Password :</b></font></td></tr><tr>
     <td align='center'><input type='password' name='password'  size='15'></td></tr><tr><td height="64" align='center'><br>
     <input type='submit' name='OK' value='Entrez'></td></tr></table></form>
     </body></html>

Dernière modification par sabotage ; 20/03/2010 à 11h30. Motif: Merci de revoir comment fonctionnent les balises
WALAA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2010, 11h30   #8
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Tu as toujours les espaces en trop dans ta requête depuis le début.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2010, 11h36   #9
Invité de passage
 
BDEDD WALA
Inscription : décembre 2009
Messages : 14
Détails du profil
Informations personnelles :
Nom : BDEDD WALA

Informations forums :
Inscription : décembre 2009
Messages : 14
Points : 1
Points : 1
J'ai éliminée l'espaces mais je pense que ce n'est pas le problème
WALAA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2010, 13h05   #10
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Avec les espaces il est impossible que ca fonctionne.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2010, 21h31   #11
Invité de passage
 
BDEDD WALA
Inscription : décembre 2009
Messages : 14
Détails du profil
Informations personnelles :
Nom : BDEDD WALA

Informations forums :
Inscription : décembre 2009
Messages : 14
Points : 1
Points : 1
J'ai retiré tous les espaces mais le problème reste.

Dernière modification par sabotage ; 21/03/2010 à 01h37. Motif: Merci d'écrire en minuscules.
WALAA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2010, 01h37   #12
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
A quoi ressemble ton code maintenant et que se produit-il ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2010, 14h08   #13
Invité de passage
 
BDEDD WALA
Inscription : décembre 2009
Messages : 14
Détails du profil
Informations personnelles :
Nom : BDEDD WALA

Informations forums :
Inscription : décembre 2009
Messages : 14
Points : 1
Points : 1
l'orsque je l'exécute je reste dans le même page
WALAA est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 08h39.


 
 
 
 
Partenaires

Hébergement Web