Bonjour j'ai un souci pour un formulaire qui permet de se loguer à un compte client avec un login et un mot de passe. Pour éviter les injonctions sql j'ai utilisé la fonction mysql_real_escape_string.
En local il n'y a pas de problème mais sur mon serveur chez l'hébergeur infomaniak il y a un souci.
Lorsque j'enlève la fonction mysql_real_escape_string la requete fonctionne bien il trouve mon compte client. A l'inverse avec la fonction mysql_real_escape_string aucun résultat ne m'est retourné.
Voici mon code
ps: La connexion à la base de données est ok
Merci pour votre aide avec cette foutu fonction mysql_real_escape_string
Si vous avez des méthodes efficaces pour éviter les injections sql n'hésiter pas.
Merci
Modifié par greg12 (08 Dec 2008 - 22:19)
En local il n'y a pas de problème mais sur mon serveur chez l'hébergeur infomaniak il y a un souci.
Lorsque j'enlève la fonction mysql_real_escape_string la requete fonctionne bien il trouve mon compte client. A l'inverse avec la fonction mysql_real_escape_string aucun résultat ne m'est retourné.
Voici mon code
function magic_s($var)
{
if ( get_magic_quotes_gpc() ) return stripslashes($var);
else return $var;
}
//si la personne a rempli le formulaire on verifie
if (isset($_POST['login']) && isset($_POST['mdp']))
{
//on recupere les variables du formulaire
$login = magic_s($_POST['login']);
$passe= magic_s($_POST['mdp']);
authentification($login,$passe);//appel de la fonction
}
voici ma fonction authentification
function authentification($login,$passe){
$req_auth="select Cli_id from client where login='".mysql_real_escape_string($login)."' and mdp='".mysql_real_escape_string(sha1('$passe'))."'";
$query_req_auth=mysql_query($req_auth) or die("Erreur lors de la verification du client".mysql_error());
$client=mysql_fetch_assoc($query_req_auth);
$row=mysql_num_rows($query_req_auth);
deconnexion();
if ($row!=0)
{
// si il est corretement identifié on créé la session d'utilisateur valide
echo'bienvenue';
}else{
echo'erreur';
}
ps: La connexion à la base de données est ok
Merci pour votre aide avec cette foutu fonction mysql_real_escape_string
Si vous avez des méthodes efficaces pour éviter les injections sql n'hésiter pas.
Merci
Modifié par greg12 (08 Dec 2008 - 22:19)