Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/03/2011, 14h30   #1
Candidat au titre de Membre du Club
 
Inscription : février 2011
Messages : 41
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 41
Points : 13
Points : 13
Par défaut SELECT a WHERE c=d AND h=k

Bonjour chers amis développeurs!
content d'être parmi vous comme toujours ... Bon j'ai un souci:

J'ai une table contenant les colonnes "nom", "mail" et "mot_de_passe_" et dans mon cript php, je souhaiterais afficher le nom se trouvant là où
Code :
mail=$_POST['mail'] et mot_de_passe=$_POST['pass']
sachant que les variables $_POST reviennent d'un formulaire, mais je me bloque lorsqu'il faut faire la requette Sql suivante:

Code :
 SELECT nom WHERE  mail=$_POST['mail'] AND mot_de_passe=$_POST['pass']
il refuse de m'afficher le nom et dit que je dois retourner voir mon manuele car il y a une erreur de syntaxe! aidez moi svp ... merci par avance!
logarithme-galiléen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 14h36   #2
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
Code :
$chaine_sql = "SELECT nom WHERE mail = '{$_POST['mail']}' AND mot_de_passe = '{$_POST['pass']}'";
Voici ce que cela donnerai.
Cependant il est à noter que c'est franchement plus que moche de faire ainsi.
Les variables ne sont pas vérifiées et on pourrait passer n'importe quoi.
Il faut faire des vérifications : type de champs attendu, échappement des caractères spéciaux, ...
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/03/2011, 15h01   #3
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par transgohan Voir le message
Code :
$chaine_sql = "SELECT nom WHERE mail = '{$_POST['mail']}' AND mot_de_passe = '{$_POST['pass']}'";
ton code n'est pas sécurise, utilise mysql_real_escape_string,
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/03/2011, 16h21   #4
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
Tu n'as semblerait-il pas eu le courage de lire tout mon message Stealth35.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/03/2011, 16h24   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par transgohan Voir le message
Tu n'as semblerait-il pas eu le courage de lire tout mon message Stealth35.
pourquoi ne pas l'avoir fait directement alors ?
ca fait un peu : "tien voici le code par contre c'est pas bon"
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 16h27   #6
Membre confirmé
 
Homme Benjamin
Consultant informatique
Inscription : août 2007
Messages : 160
Détails du profil
Informations personnelles :
Nom : Homme Benjamin
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2007
Messages : 160
Points : 248
Points : 248
Il n'y a pas de clause "FROM", donc aucune de vos requêtes ne fonctionnera.
bhamp0 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/03/2011, 16h32   #7
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
Citation:
Envoyé par stealth35 Voir le message
pourquoi ne pas l'avoir fait directement alors ?
ca fait un peu : "tien voici le code par contre c'est pas bon"
Parce que l'auteur de ce sujet n'a pas précisé quel drivers il utilisait...
mysql_real_escape_string() alors qu'il pourrait utiliser PDO ?

Mais sinon je tire mon chapeau à bhamp0, il a trouvé l'erreur la plus élémentaire qui soit et qui devait en tout état de cause être la seule.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 18h39   #8
Candidat au titre de Membre du Club
 
Inscription : février 2011
Messages : 41
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 41
Points : 13
Points : 13
Par défaut Merci!

Chers amis, chers freres je vous remercie!

Le code marche parfaitement et j'en suis ravi... Au passage, sachez que je suis un passionné de la programmation et si je vous pause cette question "simple" c'est parce que là où je suis, on n'étude pas les langages du web (juste un peu le langage C) donc tous ce que je fais en PHP ou JAVA ou C++ ou VB.NET ou Sql ou Qt n'est que projet personnel...

Par ailleurs, je fonctionne comme ceci dans ma procedure:
1) j'ai fini le design de mon site
2) je bosse sur les BD pour évidemment transiter mes infos de page en page
3) lorsque tout est fini,je VERIFIE LA SECURITé liée au données réçues et bien d'autres! c'est pourquoi j'ai omis tout ce qui conserne la sécurité dans mon message précédent; En générl la sécurité c'est ma derniere étape...!

Est-ce une mauvaise méthode? un conseil serait le bienvenu...

Merci encore très chers!
logarithme-galiléen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 18h56   #9
Membre confirmé
 
Homme Benjamin
Consultant informatique
Inscription : août 2007
Messages : 160
Détails du profil
Informations personnelles :
Nom : Homme Benjamin
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2007
Messages : 160
Points : 248
Points : 248
La sécurité se prévoit en général, en amont du projet, au moment de la phase d'architecture.
Que ce soit un projet personnel ou professionnel d'ailleurs ...
bhamp0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 19h10   #10
Candidat au titre de Membre du Club
 
Inscription : février 2011
Messages : 41
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 41
Points : 13
Points : 13
Ok! ok dans ce cas je changerai de methode au moment venu... merci encore mais sinon je prefere souvent tout finir et après je refais un tour complet sur le programme pour le sécuriser au maximum... merci pour le conseil!
logarithme-galiléen est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h26.


 
 
 
 
Partenaires

Hébergement Web