Faire un acces membre en PHP

morpheus22170 Messages postés 99 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 8 septembre 2009 - 20 févr. 2006 à 15:35
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 - 20 févr. 2006 à 19:54
voilà je fais un accès membre qui a partir d'une saisie (identification et mot de passe) va sur une page (différente suivant du statut: administrateur ou membre). Création avec easy php 1.8. Mais je ne comprend pas pourquoi il veut pas fonctionner au niveau du login.

Base de données>Gestion-laboratoire Table>Prof

IdentProf varchar(6) clé primaire
Mot_de_passe varchar(20)
Statut Varbinary(20)
Nom Varchar(30)
Prénom Varchar(20)
Indice Varchar(5)

------------------------------------------------------------------------------------------------------------------------------------------------------------
Connect.php

Acces Membre

<form action="connect2.php" method='post'>
Identification du professeur :,
,

----

Mot de Passe,
,

----

</form>

---------------------------------------------------------------------------------------------------------------------------------------------------------------
Connect2.php

<?
//Connexion au serveur
if (!$conn= mysql_connect("Localhost","root",""))
echo ("Prob connexion au serveur");
else
{
//Cette partie vérifie si les cases sont completées
if(isset($HTTP_POST_VARS) && !empty($HTTP_POST_VARS['login']) && !empty($HTTP_POST_VARS['password']))
{
extract($HTTP_POST_VARS);
//Connexion a la base de données
$db= mysql_select_db("gestion_laboratoire");
if(!$db)
echo ("Problème de connexion à la base");
else
{
//on vérifie en premier si le nom d'utilisateur existe à la base Prof
$ide =("SELECT IdentProf from Prof where IdentProf = ".$HTTP_POST_VARS['login']." ;");
$ret = mysql_query($ide);
if (!$ret)
echo ("Identification du professeur inconnu");
else
{
// on vérifie le password visiteur
$sql = ("SELECT Mot_de_passe from Prof where password=".$Mot_de_passe.";");
$req = mysql_query($sql);
if (!$req)
echo ("Password incorrect");
else
//on vérifie le statut du professeur. 1 - professeur administrateur. 2 - professeur reconnu
$sta = "SELECT Statut from Prof";
$rec = mysql_query($sta);
if ($rec == 1)
include("administrateur.php");
else
{
include("reconnu.php");
}
}
}
}
}
mysql_close($conn);
?>

28 réponses

sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
20 févr. 2006 à 15:43
pourquoi tu ne fais pas qu'une seule requete

et je ne vois pas où est défini $Mot_de_passe
0
morpheus22170 Messages postés 99 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 8 septembre 2009
20 févr. 2006 à 15:48
exact sur le point $Mot de passe mais j'ai toujours un problème au niveau du login
0
morpheus22170 Messages postés 99 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 8 septembre 2009
20 févr. 2006 à 15:52
j'ai toujours ce message:

Identification du professeur inconnu
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
20 févr. 2006 à 15:54
on est d'accord que 'password' c'est 'Mot_de_passe' à la place dans ta table ??

$sql = ("SELECT Mot_de_passe from Prof where Mot_de_passe='".$HTTP_POST_VARS['password']."'");
0

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

Posez votre question
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
20 févr. 2006 à 15:56
$ide =("SELECT IdentProf from Prof where IdentProf = '".$HTTP_POST_VARS['login']."'");

echo $ide;
0
MYPHPSCRIPTER Messages postés 27 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 5 avril 2008
20 févr. 2006 à 15:57
Pour commencer tu oublie les {} dans tes conditions ( IF ) du coup tes conditions ne sont pas prise en compte et le script est lu a la volé donc difficile de valider ou de ne pas valider
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
20 févr. 2006 à 16:00
et enlève les () dans les requetes sql
0
MYPHPSCRIPTER Messages postés 27 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 5 avril 2008
20 févr. 2006 à 16:00
il me semble que cela peut venir de la exemple :

if (!$conn= mysql_connect("Localhost","root",""))
echo ("Prob connexion au serveur");

remplacer par

if (!$conn= mysql_connect("Localhost","root","")) {
echo ("Prob connexion au serveur"); }
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
20 févr. 2006 à 16:03
je ne pense pas ==> myphpscripter
s'il n'y a qu'une instruction conditionnée par le if, les accolades sont facultatives...
if($a==$b)
instruction1;
else
instruction2;
0
MYPHPSCRIPTER Messages postés 27 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 5 avril 2008
20 févr. 2006 à 16:13
Je viens de tester sur mon serveur EasyPHP sur ce type

if($data['Pass'] != $pass)
$validation="Mauvais";
include('index.php');
exit;
else
{
$validation="Validé";
@session_start();
$_SESSION['login'] = $login;
include('index.php');
}

et moi j ai une erreur bizzar
0
MYPHPSCRIPTER Messages postés 27 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 5 avril 2008
20 févr. 2006 à 16:14
oki j ai compris merci c est bon a savoir ;-)
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
20 févr. 2006 à 16:14
bien compris pour l'inscription mais pour l'accès
dans connect2.php tu peux controler en une seule fois

$log=$HTTP_POST_VARS['login'];
$pw=$HTTP_POST_VARS['password'];

$ide ="SELECT IdentProf from Prof where IdentProf ='".$log."' and Mot_de_passe='".$pw."' ";
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
20 févr. 2006 à 16:23
là, moi j'aurais tendance à faire un header(location...), non ???

if ($rec == 1)
header("location:administrateur.php");
else
header("location:reconnu.php");
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
20 févr. 2006 à 16:32
Statut Varbinary(20)

c'est toi qui définis les champs de la table , non? regarde là

http://dev.mysql.com/doc/refman/5.0/fr/binary-varbinary.html

bon courage
0
morpheus22170 Messages postés 99 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 8 septembre 2009
20 févr. 2006 à 17:21
Tout marche sauf pour l'accès administrateur ou reconnu (problème binaire).Merci de bien m'aider encore une fois.

IdentProf varchar(6) clé primaire
Mot_de_passe varchar(20)
Statut Binary(1) Attention ca a changer
Nom Varchar(30)
Prénom Varchar(20)
Indice Varchar(5)

---------------------------------------------------------------------------------------------------------------------

Connect.php

Acces Membre

<form action="connect2.php" method='post'>
Identification du professeur :,
,

----

Mot de Passe,
,

----

</form>

------------------------------------------------------------------------------------------------------------------------

Connect2.php
<?
//Connexion au serveur
if (!$conn= mysql_connect("Localhost","root","")) {
echo ("Prob connexion au serveur"); }
else
{
//Cette partie vérifie si les cases sont completées
if(isset($HTTP_POST_VARS) && !empty($HTTP_POST_VARS['login']) && !empty($HTTP_POST_VARS['password']))
{
extract($HTTP_POST_VARS);
//Connexion a la base de données
$db= mysql_select_db("gestion_laboratoire");
if(!$db)
echo ("Problème de connexion à la base");
else
{
//on vérifie en premier si le nom d'utilisateur existe à la base Prof
$ide =("SELECT IdentProf from Prof where IdentProf = '".$HTTP_POST_VARS['login']."'");
$ret = mysql_query($ide);
if (!$ret)
echo ("Identification du professeur inconnu");
else
{
// on vérifie le password visiteur
$sql = ("SELECT Mot_de_passe from Prof where Mot_de_passe='".$HTTP_POST_VARS['password']."'");
$req = mysql_query($sql);
if (!$req)
echo ("Password incorrect");
else
//on vérifie le statut du professeur. 0 - professeur administrateur. 1 - professeur reconnu
$sta = "SELECT Statut from Prof";
$req = mysql_query($sta);
if ($sta == 0)
include("administrateur.php");
else
{
include("reconnu.php");
}
}
}
}
}
mysql_close($conn);
?>
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
20 févr. 2006 à 17:29
$sta = "SELECT Statut from Prof";
là du coup il faut peut être une clause WHERE


$sta ="SELECT Status from Prof where IdentProf = ' ".$HTTP_POST_VARS['login']." ' and Mot_de_passe=' ".$HTTP_POST_VARS['password']."'";

d'autre part
$req = mysql_query($sta);
$status=mysql_result($req,0,0);

if ($status == 0)
include("administrateur.php");
else
include("reconnu.php");

tu fais trois requêtes là où une seule suffirait, ceci dit
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
20 févr. 2006 à 17:32
$sta = "SELECT Statut from Prof where IdentProf = ' ".$HTTP_POST_VARS['login']." ' and Mot_de_passe=' ".$HTTP_POST_VARS['password']."'";
0
morpheus22170 Messages postés 99 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 8 septembre 2009
20 févr. 2006 à 17:55
voila ce que j'ai à la fin et ca marche toujours pas, proposez votre fin. merci.

//on vérifie le statut du professeur. 0 - professeur administrateur. 1 - professeur reconnu
$sta ="SELECT Status from Prof where IdentProf = ' ".$HTTP_POST_VARS['login']." ' and Mot_de_passe=' ".$HTTP_POST_VARS['password']."'";
$req = mysql_query($sta);
if ($req == 0)
include("administrateur.php");
else
{
include("reconnu.php");
}
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
20 févr. 2006 à 17:56
Rahhhh
Mais c'est pourtant pas compliqué !!! :)

<?php

if ( isset($_POST['login'], $_POST['password']) ) { $sql "SELECT COUNT(*) FROM Prof WHERE IdentProf "'.mysql_real_escape_string($_POST['login'])."' AND Mot_de_passe = "'.$_POST['password'].'" ";
$query = mysql_query($sql);
$data = mysql_fetch_row($query);
if ( $data[0] == 1 ) {
// Bon pseudo/password
// Fait ce que tu veux ensuite (récupération des infos du membres pour une vérification de droit par exemple)
} else {
// Mauvais pseudo/passwd
}

} // Sinon formulaire non soumis.

?>

C'est aussi simple !
0
morpheus22170 Messages postés 99 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 8 septembre 2009
20 févr. 2006 à 17:59
non ça marche pas, je veux que le professeur enregistré administrateur (administrateur) va sur sa page administrateur et que le professeur reconnu aille directement sur la page reconnu (reconnu.php)
0
Rejoignez-nous