probleme mysql_real_escape_string

Eléphanteau du PHP | 26 Messages

17 mai 2007, 14:43

Bonjour!
j'essaie de peaufiner un peu la maniere de securiser mes données
et j'essaie sur une fonction simple d'utiliser la desactivation des magic quotes
ainsi que la fonction mysql real escape

jusque la j'ai bien compris l'utilisation
par contre ça ne fonctionne pas du tout !
lorsque j'utilises mysql_real... on dirait qu'aucune variable ne passe, elles sont vides donc rien ne fonctionne
si j'enleve la fonction mysql_real... tout marche et les variables sont bien remplies!!!! :shock:

pourquoi ? j'ai du oublier quelque chose ??
 
fix_magic_quotes();
 $lo = mysql_real_escape_string($_POST['login']);
 $pa = mysql_real_escape_string($_POST['pass']);
  log_cl($lo,$pa);
Modifié en dernier par mat24 le 17 mai 2007, 15:12, modifié 1 fois.

ViPHP
ViPHP | 3607 Messages

17 mai 2007, 14:54

Bonjour,
que fait la fonction $log_cl() ?
Ensuite essaye ceci:
fix_magic_quotes();
echo '$_POST[\'login\']='.$_POST['login'].'<br />';
echo '$_POST[\'pass\']='.$_POST['pass'].'<br />';

 $lo = mysql_real_escape_string($_POST['login']);
 $pa = mysql_real_escape_string($_POST['pass']);

echo '$lo='.$lo.'<br />';
echo '$pa='.$pa.'<br />';
  log_cl($lo,$pa);
Et dis nous ce que ça donne...
Pour finir la fonction mysq_real_escape_string() à besoin que le script soit déjà connecté à mysql pour pouvoir fonctionner correctement, car elle échappe le contenu des variables différemment selon la version de mysql, c'est paramètre, etc...

Eléphanteau du PHP | 26 Messages

17 mai 2007, 15:04

Ok j'ai compris....

il faut lancer le mysqlescape aprés connection à la base en fait !!!
comme je le lance avant puisque c'est la fonction log_cl qui gere la connection et tout le reste ça ne fonctionne pas !!

j'ai donc fait :




fix_magic_quotes();
 $lo = $_POST['login'];
 $pa = $_POST['pass'];
 
  log_cl($lo,$pa);

puis dans la fonction log_cl
$conn = mysql_connect($host, $user, $pass) OR DIE ('Erreur :'.mysql_error()); 
					mysql_select_db ($db,$conn) OR DIE ('Erreur :'.mysql_error()); 
					$login=mysql_real_escape_string($login);
					$pass=mysql_real_escape_string($pass);
					$rech= "SELECT login, pass FROM tbl_priv WHERE login='".$login."'";
					$req=  mysql_query($rech) or die('Erreur SQL !<br>'.$rech.'<br>'.mysql_error());
		

j'ai bon :?:


merci jojolapin :lol:

ViPHP
ViPHP | 3607 Messages

17 mai 2007, 15:09

ben c'est à toi de me dire si c'est bon ... :roll:
ça fonctionne ? bon ben parfait ==> roulez jeunesse!!!

Eléphanteau du PHP | 26 Messages

17 mai 2007, 15:11

Bon ça fonctionne alors ;)
merci encore ... :lol: