Problème avec requete sql et php

Résolu
cs_machmacha Messages postés 97 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 28 mai 2010 - 2 mai 2007 à 12:57
martins13 Messages postés 66 Date d'inscription lundi 10 avril 2006 Statut Membre Dernière intervention 19 juin 2008 - 4 mai 2007 à 18:04
bonjour,
j'ai une requête simple sur php la voilà:
$sql = mysql_query("SELECT *
                  FROM test
                  WHERE login='".$_POST['login']."'
                  AND pass='".$_POST['pass']."'");
et lorsque je lance le navigateur et je retre le login et le mot de passe je clik sur ok il m'affiche l'erreur suivant :
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #3' at line 1
j'ai testé le requête sur mysql est ça marche, est ce que quelqu'un a une idée la desu merci.

8 réponses

martins13 Messages postés 66 Date d'inscription lundi 10 avril 2006 Statut Membre Dernière intervention 19 juin 2008
4 mai 2007 à 10:34
Salut!!

Essaye de mettre tes champs $_POST['login'] et $_POST['pass'] dans des variables. Ca peut venir de là.
$login=$_POST['login'];
$pass=$_POST['pass'];
$sql = mysql_query("SELECT *
                  FROM test
                  WHERE login='".$login."'
                  AND pass='".$pass."'");

Voila je sais pas si ca résoudra ton problème.
3
medelidrissi Messages postés 180 Date d'inscription jeudi 21 août 2003 Statut Membre Dernière intervention 26 novembre 2007 2
2 mai 2007 à 17:28
Bonjour,

C'est pas trop clair,

1- Verifie que tu as bien pu établir une connexion avec le serveur MYSQL
2- Verifie que les champs $_POST['login'] et $_POST['pass'] sont bien ceux envoyés par ton formulaire.
3- Essaye de visualiser ta requête pour voir s’il n'y a pas qlq chose qui cloche 
   echo "SELECT *
                  FROM test
                  WHERE login='".$_POST['login']."'
                  AND pass='".$_POST['pass']."'";
Bonne programmation.

Cordialement medelidrissi

<hr />En Informatique, rien n'est impossible. Mais, ce n'est pas toujours évident.
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
2 mai 2007 à 19:44
Salut,

J'ai pas la réponse à ton problème, mais je sais comment faire pour me connecter sans connaitre ni login ni mot de passe. Je rentre n'importe quel login et ça comme mot de passe :

' OR ''='

Si je connais le login d'un admin, ça me suffit pour me connecter à sa place.

> mysql_real_escape() > c'est pas uniquement pour faire joli.

Sinon, pour la réponse à ton problème, ce n'est visiblement pas la requête qui déconne (la syntaxe semble correct malgré la MONUMENTALE faille de sécurité).
Faudrait voir à quoi ressemble ton script.
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
4 mai 2007 à 17:45
Ouais, mais alors
$login=$_POST['login'];
$pass=$_POST['pass'];

Bon sang, mais tout le monde s'en fout de la sécurité ? Vous vous en cognez tous qu'on puisse se connecter sans connaitre le pass d'un user ?
C'est quand même hallucinant quoi !

Mais protégez vos variables POST avant de les balancer dans votre requête, c'est quand même pas sorcier !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
martins13 Messages postés 66 Date d'inscription lundi 10 avril 2006 Statut Membre Dernière intervention 19 juin 2008
4 mai 2007 à 17:50
Je débute en PHP, je lui donnait une solution à son problème après pour le reste...La protection des variables POST m'intéresse, si tu veux bien expliquer.

Merci
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
4 mai 2007 à 17:53
Ben je l'ai déjà fait... dans mon premier message... Après, suffit de lire la doc de php, ça me parait être une base...
J'ai donné ce qu'il fallait saisir pour se connecter sans mot de passe (j'ai testé).
J'ai donné le nom de la fonction php qui permet de protéger.
Après... Faut se prendre un peu par la main quand on débute...
0
cs_machmacha Messages postés 97 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 28 mai 2010
4 mai 2007 à 17:58
ben qu'est que tu veux dire par sécuriser? est ce que le cryptage du mot de passe par la methode md5?càd a quel niveau vous faites la sécurité ?
0
martins13 Messages postés 66 Date d'inscription lundi 10 avril 2006 Statut Membre Dernière intervention 19 juin 2008
4 mai 2007 à 18:04
Ok j'avais pas vu ton premier message...
0
Rejoignez-nous