Probleme dans un espace membre

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

isitien
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 1
Inscription: 3 Sep 2005

Probleme dans un espace membre

Message le Dim Sep 04, 2005 11:25

bonjour,

j'ai crée un espace membre, si le login + pass sont correct l'utilisateur pas se loguer sinon il ne peut pas accéder a la page, le probleme c'est que je peux pas me loguer dans les 2 cas, toujours me donne le message d'echec, voila le code:
Code: Tout sélectionner
<?

$host = 'localhost';
$user = 'root';
$pass = '';
$db_name = 'test';
$table_name = 'admin';

if(isset($_POST['date'])) $date = $_POST['date'];
else $date = '';
if(isset($_POST['hour'])) $hour = $_POST['hour'];
else $hour = '';
if(isset($_POST['login'])) $login = $_POST['login'];
else $login = '';
if(isset($_POST['passwd'])) $passwd = $_POST['passwd'];
else $passwd = '';

$login = strtolower(trim(htmlentities($_POST['login'], ENT_QUOTES)));
$passwd = strtolower(trim(htmlentities($_POST['passwd'], ENT_QUOTES)));

if ($login == ''){ //nom du champ1
echo("<font face=verdana size=2>Username field is empty</font><br>"); //message qui s'affiche si le visiteur n'a pas rempli ce champ
echo("<a href=\"javascript:history.back()\" class=navfont> Return </a>");
}

elseif ($passwd == ''){ //nom du champ1
echo("<font face=verdana size=2>Password field is empty</font><br>"); //message qui s'affiche si le visiteur n'a pas rempli ce champ
echo("<a href=\"javascript:history.back()\" class=navfont> Return </a>");
}
else
{
$connection = mysql_connect($host, $user, $pass) or die(mysql_error());
$db = mysql_select_db($db_name, $connection) or die(mysql_error());
$sql = 'SELECT * FROM admin WHERE login = "$login" AND passwd = "$passwd"';
$result = mysql_query($sql,$connection) or die(mysql_error());
//get the number of rows in the result set
$num = mysql_num_rows($result);
//print a message or redirect elsewhere, based on result
if ($num != 0) {
$_SESSION['login'] = $login;
$_SESSION['passwd'] = $passwd;
echo 'Welcome'.$login;
}
else
{
echo 'Go Out';
}
//if (!isset($_SESSION['login'])) {
  //echo 'Vous n\'êtes pas autoriser à acceder à cette zone';
//}
}

?>


CaYuS
WRInaute impliqué
WRInaute impliqué
 
Messages: 601
Inscription: 14 Juil 2005

Message le Ven Sep 09, 2005 16:01

Bien le bonjour,

Je suis surpris que tu n'ais pas eu de réponse plus tôt, surtout pour une erreur de quote !
Enfin bon, voici ce qui ne va pas :

Non valide :
Code: Tout sélectionner
$sql = 'SELECT * FROM admin WHERE login = "$login" AND passwd = "$passwd"';


Valide :
Code: Tout sélectionner
$sql = "SELECT * FROM admin WHERE login = '$login' AND passwd = '$passwd'";


Le reste devrait fonctionner comme il faut ;)

manitou
WRInaute discret
WRInaute discret
 
Messages: 70
Inscription: 6 Avr 2004

Message le Ven Sep 09, 2005 16:52

Pour comprendre pourquoi celà ne marche pas il faut savoir que les guillemets ' ne permettent pas de mettre des variables à l'intérieur , '$var' comprends le texte "var".
Ce n'est pas le cas des guillemets " qui eux permettent de mettre des variable que php va interpréter.

Note aussi que 'xxx'.$var.'xxx' marche, c'est équivalent à "xxx $var xxx".


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité