If et elseif qui ne veulent pas fonctionner
Résolu/Fermé
Ninja_En_Short
Messages postés
133
Date d'inscription
mercredi 19 septembre 2007
Statut
Membre
Dernière intervention
27 juin 2014
-
15 déc. 2007 à 13:23
Ninja_En_Short Messages postés 133 Date d'inscription mercredi 19 septembre 2007 Statut Membre Dernière intervention 27 juin 2014 - 15 déc. 2007 à 15:00
Ninja_En_Short Messages postés 133 Date d'inscription mercredi 19 septembre 2007 Statut Membre Dernière intervention 27 juin 2014 - 15 déc. 2007 à 15:00
A voir également:
- If et elseif qui ne veulent pas fonctionner
- Fonction si et - Guide
- Comment faire fonctionner chromecast - Guide
- Fonction filtre excel n'existe pas - Forum Excel
- Impossible d'installer hyper-v le processeur ne dispose pas des fonctions de virtualisation requises ✓ - Forum Hyper-V
- Virginie organise un rallye avec 30 équipes. elle veut créer un code pour désigner chaque équipe. elle a commencé à la main, mais elle voudrait le faire calculer à l'aide d'une formule. proposez une formule comportant une seule fonction et à recopier vers le bas dans la colonne a du fichier à télécharger. quelle formule sera en a9 ? ✓ - Forum Programmation
4 réponses
bonjour,
qqs erreurs:
un test if $statut = 'user' sera tpoujours vrai, il faut pour tester l'égalité == la non égalité !=
je t'ai fait ça avec une seule requette à la base qui renvoie ts les champs *
et il faut que tu nommes ton bouton dans le formulaire:
indentes aussi ton code, c'est plus facile à lire
je t'ai mis BINARY pour que mysql tienne compte de la casse, pour faire la différence entre un login
toto et Toto ou TOTO
qqs erreurs:
un test if $statut = 'user' sera tpoujours vrai, il faut pour tester l'égalité == la non égalité !=
je t'ai fait ça avec une seule requette à la base qui renvoie ts les champs *
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US"> <head> <title>Test de log</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <link href="" type="text/css" rel="stylesheet" /> </head> <body> <?php // on verifie d'abord que le formulaire a ete poste if(isset($_POST['envoi']){ // on verifie que les champs ont ete remplis, pas vides if(isset($_POST['login']) && ($_POST['login']==""){ echo "Entrez votre login !"; }elseif(isset($_POST['mdp']) && ($_POST['mdp']==""){ echo "Entrez votre mot de pass !"; }else{ $connect = mysql_connect("localhost","root","") or die("Pb connexion ".mysql_error()); mysql_select_db("testlog") or die("Pb selection base ".mysql_error()); $login = $_POST['login']; $mdp = $_POST['mdp']; // on va tester si un enr avec les bon login et mdp , qui tiens compte des majuscules minuscule et qui retourne tous les champs (SELECT * ) $result=mysql_query("SELECT * FROM utilisateurs WHERE BINARY login = '".$login."' AND BINARY mdp = '".$mdp."'"); //si il y en a un if(mysql_num_rows($result)>0){ $rep=mysql_fetch_array($result); $loginSQL=$rep['login']; $mdpSQL=$rep['mdp']; $statut=$rep['statut']; if($statut=='admin'){ echo "Statut admin"; }elseif($statut=='utild'){ echo "Statut utilisateur avec droits"; } }else{ echo "Login ou mdp incorrets !"; } } } ?> </body> </html>
et il faut que tu nommes ton bouton dans le formulaire:
<input type="submit" name="envoi" value="Login" />
indentes aussi ton code, c'est plus facile à lire
je t'ai mis BINARY pour que mysql tienne compte de la casse, pour faire la différence entre un login
toto et Toto ou TOTO
Ninja_En_Short
Messages postés
133
Date d'inscription
mercredi 19 septembre 2007
Statut
Membre
Dernière intervention
27 juin 2014
9
15 déc. 2007 à 14:11
15 déc. 2007 à 14:11
C'est vrai que j'ai pas trop l'habitude de commenter mes codes, désolé.
Je regarde ça et je tâche de corrgier mes coquilles.
Merci
Je regarde ça et je tâche de corrgier mes coquilles.
Merci
Ninja_En_Short
Messages postés
133
Date d'inscription
mercredi 19 septembre 2007
Statut
Membre
Dernière intervention
27 juin 2014
9
15 déc. 2007 à 14:32
15 déc. 2007 à 14:32
Petit bug : les parenthèses oubliées qui font des parse errors ;)
Versions corrigée :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
<title>Test de log</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<link href="" type="text/css" rel="stylesheet" />
</head>
<body>
<?php
// on verifie d'abord que le formulaire a ete poste
if (isset($_POST['envoi'])) {
// on verifie que les champs ont ete remplis, pas vides
if(isset($_POST['login']) && ($_POST['login']=="")){
echo "Entrez votre login !";
}elseif(isset($_POST['mdp']) && ($_POST['mdp']=="")){
echo "Entrez votre mot de passe !";
}else{
$connect = mysql_connect("localhost","root","") or die("Pb connexion ".mysql_error());
mysql_select_db("testlog") or die("Pb selection base ".mysql_error());
$login = $_POST['login'];
$mdp = $_POST['mdp'];
// on va tester si un enr avec les bon login et mdp , qui tiens compte des majuscules minuscule et qui retourne tous les champs (SELECT * )
$result=mysql_query("SELECT * FROM utilisateurs WHERE BINARY login = '".$login."' AND BINARY mdp = '".$mdp."'");
//si il y en a un
if(mysql_num_rows($result)>0){
$rep=mysql_fetch_array($result);
$loginSQL=$rep['login'];
$mdpSQL=$rep['mdp'];
$statut=$rep['statut'];
if($statut=='admin'){
echo "Statut admin";
}elseif($statut=='utild'){
echo "Statut utilisateur avec droits";
}
}else{
echo "Login ou mdp incorrects !";
}
}
}
?>
</body>
</html>
Versions corrigée :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
<title>Test de log</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<link href="" type="text/css" rel="stylesheet" />
</head>
<body>
<?php
// on verifie d'abord que le formulaire a ete poste
if (isset($_POST['envoi'])) {
// on verifie que les champs ont ete remplis, pas vides
if(isset($_POST['login']) && ($_POST['login']=="")){
echo "Entrez votre login !";
}elseif(isset($_POST['mdp']) && ($_POST['mdp']=="")){
echo "Entrez votre mot de passe !";
}else{
$connect = mysql_connect("localhost","root","") or die("Pb connexion ".mysql_error());
mysql_select_db("testlog") or die("Pb selection base ".mysql_error());
$login = $_POST['login'];
$mdp = $_POST['mdp'];
// on va tester si un enr avec les bon login et mdp , qui tiens compte des majuscules minuscule et qui retourne tous les champs (SELECT * )
$result=mysql_query("SELECT * FROM utilisateurs WHERE BINARY login = '".$login."' AND BINARY mdp = '".$mdp."'");
//si il y en a un
if(mysql_num_rows($result)>0){
$rep=mysql_fetch_array($result);
$loginSQL=$rep['login'];
$mdpSQL=$rep['mdp'];
$statut=$rep['statut'];
if($statut=='admin'){
echo "Statut admin";
}elseif($statut=='utild'){
echo "Statut utilisateur avec droits";
}
}else{
echo "Login ou mdp incorrects !";
}
}
}
?>
</body>
</html>
Ninja_En_Short
Messages postés
133
Date d'inscription
mercredi 19 septembre 2007
Statut
Membre
Dernière intervention
27 juin 2014
9
15 déc. 2007 à 15:00
15 déc. 2007 à 15:00
Ok tout marche parfaitement maintenant, un grand merci Alain42