cs_info3licen
Messages postés17Date d'inscriptionjeudi 16 avril 2009StatutMembreDernière intervention26 avril 2009
-
18 avril 2009 à 12:59
cs_info3licen
Messages postés17Date d'inscriptionjeudi 16 avril 2009StatutMembreDernière intervention26 avril 2009
-
19 avril 2009 à 18:02
Bonjour,
je travaille avec php
j'ai besoin d'aide,je n'arrive pas a trouvé la solution: j'ai fai un formulaire avec pseudo et mot de passe les utilisateurs qui utilise le formulaire sont déjà inscrit dans la base de données(l'inscription est réglé) je n'arrive pas a trouvé le code qui valide le pseudo et le mot de passe.je vous montre ce que g fai :
<?php
if (isset($_POST['pseudo']) AND isset($_POST['mot_de_passe']))
{ $pseudo=$_POST['pseudo'];
$mot_de_passe=$_POST['mot_de_passe'];
}
else
{ $pseudo="";
$mot_de_passe="";
}
echo"connexion a mysql";
$db="projet";
$connexion=mysql_connect("localhost", "root") or die("connexion impossible");
echo "connexion réussie"; echo "\n\n";
mysql_select_db($db,$connexion) or die("selection de la base de données impossible");
echo "choix de la base réussie"; $sql "SELECT mot_de_passe, pseudo FROM identification WHERE pseudo $pseudo ";
$req = mysql_query($sql,$connexion) or die("selection impossible : $sql".mysql_error())
if ( $mot_de_passe == "mot_de_passe" )
{ ?>
si vous avez une idée et vous pouvez m'aidez.aider moi j'attends votre réponse
merci
Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 20107 18 avril 2009 à 22:07
Dans ta requête, il faudrait que tu sélectionnes aussi le champ qui correspond au type de l'utilisateur. Ensuite tu fais un switch sur le type d'utilisateur et tu fais un redirection tout dépendant du type.
$sql "SELECT mot_de_passe , typeUtilisateur FROM identification WHERE pseudo '" . mysql_real_escape_string($pseudo) + "'";
$req = mysql_query($sql,$connexion) or die("selection impossible : $sql".mysql_error())
$resultat = mysql_fetch_assoc($req);
if ( $resultat !FALSE && $resultat['mot_de_passe'] $mot_de_passe) {
switch($resultat['typeUtilisateur ']) {
case 'enseignant' :
header('Location: enseignant.php');
exit();
case 'etudiant' :
header('Location: etudiant.php');
Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 20107 18 avril 2009 à 17:20
$sql = "SELECT mot_de_passe FROM identification WHERE pseudo = '" . mysql_real_escape_string($pseudo) + "'" ;
$req = mysql_query($sql,$connexion) or die("selection impossible : $sql".mysql_error())
$resultat = mysql_fetch_assoc($req);
if ( $resultat !FALSE && $resultat['mot_de_passe'] $mot_de_passe)
Pour ta requête il est important d'encadrer tes variables avec des ', des " ou des ` à moins que ça soit des valeurs numériques. C'est aussi important de filtrer ta valeur que tu envoies à ta requête pour éviter une faille de type SQL Injection.
Pour pouvoir comparer ta valeur avec celle qui est envoyé il faut que tu ailles chercher les valeurs que la requête a retournées. Un des façon est avec la fonction mysql_fetch_assoc, mais il y a aussi mysql_fetch_row, mysql_fetch_array et mysql_fetch_object qui retourne les données d'une façon différente.