[PHP/SQL] Problème de requête
Fermé
Darshu
Messages postés
303
Date d'inscription
lundi 30 janvier 2006
Statut
Membre
Dernière intervention
3 avril 2008
-
12 juil. 2006 à 15:57
pour_quoi_pas Messages postés 40 Date d'inscription mardi 20 juin 2006 Statut Membre Dernière intervention 25 août 2006 - 13 juil. 2006 à 17:21
pour_quoi_pas Messages postés 40 Date d'inscription mardi 20 juin 2006 Statut Membre Dernière intervention 25 août 2006 - 13 juil. 2006 à 17:21
A voir également:
- [PHP/SQL] Problème de requête
- Easy php - Télécharger - Divers Web & Internet
- Logiciel sql - Télécharger - Bases de données
- Retour a la ligne php ✓ - Forum PHP
- Requête sql date supérieure à ✓ - Forum Programmation
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Java
8 réponses
Thom@s
Messages postés
3412
Date d'inscription
mardi 4 mars 2003
Statut
Modérateur
Dernière intervention
28 septembre 2019
678
12 juil. 2006 à 18:57
12 juil. 2006 à 18:57
Salut !
Essaie comme ca :
A+ :-)
Essaie comme ca :
mysql_connect('localhost', 'root', '') or die("Erreur de connexion au serveur."); mysql_select_db('cdm') or die("Erreur de connexion a la base de données."); $query = "SELECT * FROM acces WHERE login = '".$login."'"; /* apostrophe-guillemets-point puis point-guillemets-apostrophe */ $result = mysql_query($query) or die("Erreur = ".mysql_error()); /* Il vaut mieux s'en assurer */ if (mysql_num_rows($result)<1) { echo "<FONT COLOR=\"RED\">Ce login n'existe pas, veuillez recommencer.</FONT><BR><BR>\n"; $erreur=1; } else { $data = mysql_fetch_array($result); echo $data['MonChamp1']; echo $data['MonChamp2']; /* Ces variables tableaux permettent d'afficher le contenu des champs */ ... mise à jour des variables... }
A+ :-)
ceddec
Messages postés
148
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
10 mars 2012
82
12 juil. 2006 à 16:25
12 juil. 2006 à 16:25
Salut,
Je crois que ton test serait plutot
Je crois que ton test serait plutot
if(!$result) { echo "<FONT COLOR=\"RED\">Ce login n'existe pas, veuillez recommencer.</FONT><BR><BR>\n"; $erreur=1; }
Darshu
Messages postés
303
Date d'inscription
lundi 30 janvier 2006
Statut
Membre
Dernière intervention
3 avril 2008
64
12 juil. 2006 à 16:30
12 juil. 2006 à 16:30
Oui je le pensais aussi et j'ai essayé, mais du coup il rentre TOUJOURS dans ce cas, même quand le login existe (vérifié avec MySQL) ...
ceddec
Messages postés
148
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
10 mars 2012
82
12 juil. 2006 à 16:56
12 juil. 2006 à 16:56
Le problème vient aussi de ta requete
En SQL quand tu fais une restriction sur un champs de texte, il faut mettre des guillemets autour du texte.
Essaies cette requete :
Sans les guillemets autour du champs texte, la requete ne marche pas et te retourne false
En SQL quand tu fais une restriction sur un champs de texte, il faut mettre des guillemets autour du texte.
Essaies cette requete :
"SELECT * FROM `acces` WHERE `login` = \"".$login."\"";
Sans les guillemets autour du champs texte, la requete ne marche pas et te retourne false
Darshu
Messages postés
303
Date d'inscription
lundi 30 janvier 2006
Statut
Membre
Dernière intervention
3 avril 2008
64
12 juil. 2006 à 18:14
12 juil. 2006 à 18:14
Non non, la requête marche tout à fait, pas de problème de ce côté la ... C'est encore autre chose, mais je ne sais pas quoi ! Parce que mysql_query() renvoie un truc compliqué, et je ne crois pas que ça se résume à true ou false, d'où le passage par mysql_fetch_row().
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ceddec
Messages postés
148
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
10 mars 2012
82
12 juil. 2006 à 18:44
12 juil. 2006 à 18:44
Pour etre sur que ce n'est pas le mysql_query qui foire essaies ca :
$result = @mysql_query($query) or die("Erreur = ".mysql_error());
Darshu
Messages postés
303
Date d'inscription
lundi 30 janvier 2006
Statut
Membre
Dernière intervention
3 avril 2008
64
13 juil. 2006 à 09:14
13 juil. 2006 à 09:14
Merci beaucoup thomas, j'ai essayé ton code et il fonctionne parfaitement !
Darshu
Messages postés
303
Date d'inscription
lundi 30 janvier 2006
Statut
Membre
Dernière intervention
3 avril 2008
64
13 juil. 2006 à 09:44
13 juil. 2006 à 09:44
Bon, j'ai un autre petit soucis maintenant, qui est lié à ça ... Ce sont mes fameuses "super variables" qui sont censées savoir si on est identifié ou non ($auth = 0/1) et le niveau d'accès ($level = 0 (admin)/1 (membre)/2 (anonyme)).
Je renvoie les données depuis identification.php par l'URL à index.php, mais dès que je change de page je perd mes variables et je retourne donc à l'état de connexion anonyme, configurée par défaut.
Le site est architecturé de la façon suivante : index.php contient le menu (dont certaines catégories ne sont affichées que si on est d'un niveau minimal), et fait appel via des include à d'autres pages qui se chargent dans une des cellules du tableau principal de index.php. Alors, à moins de modifier tous les liens pour leur passer en paramètre $auth et $level, ce qui en plus de ne pas être très joli faisse des failles de sécurité, je vois pas comment faire. J'ai essayé avec des <INPUT TYPE="hidden" NAME="auth" VALUE=" $auth "> et pareil pour $level, mais comme on ne clique pas sur un bouton submit pour lancer les liens, les données ne sont pas envoyées du formulaire vers la page cible ...
Je sais pas si je suis très clair, mais si quelqu'un sait comment faire des variables globales ! J'ai regardé la doc du site, mais c'est déja ce que j'ai fait (il me semble) ...
Je renvoie les données depuis identification.php par l'URL à index.php, mais dès que je change de page je perd mes variables et je retourne donc à l'état de connexion anonyme, configurée par défaut.
Le site est architecturé de la façon suivante : index.php contient le menu (dont certaines catégories ne sont affichées que si on est d'un niveau minimal), et fait appel via des include à d'autres pages qui se chargent dans une des cellules du tableau principal de index.php. Alors, à moins de modifier tous les liens pour leur passer en paramètre $auth et $level, ce qui en plus de ne pas être très joli faisse des failles de sécurité, je vois pas comment faire. J'ai essayé avec des <INPUT TYPE="hidden" NAME="auth" VALUE=" $auth "> et pareil pour $level, mais comme on ne clique pas sur un bouton submit pour lancer les liens, les données ne sont pas envoyées du formulaire vers la page cible ...
Je sais pas si je suis très clair, mais si quelqu'un sait comment faire des variables globales ! J'ai regardé la doc du site, mais c'est déja ce que j'ai fait (il me semble) ...
pour_quoi_pas
Messages postés
40
Date d'inscription
mardi 20 juin 2006
Statut
Membre
Dernière intervention
25 août 2006
10
13 juil. 2006 à 17:21
13 juil. 2006 à 17:21
Salut Darshu,
si j'ai bien compris ton problème (garder des valeurs liées à un user suite à son identification, à peu près ??) je te conseille d'aller voir du côté des cookies ou encore (bien plus simple à mon humble avis) du côté des sessions.
Pour les sessions en gros :
- session_start() au début de chaque fichier php
- utilisation de la "super variable" $_SESSION
ex: si identification Ok => $_SESSION['log'] = 'ok'
et après au début de tes autres fichiers (ou scripts) tu testes avec
voilà c'est peut être pas très clair donc je te renvoie là https://beaussier.developpez.com/articles/php/session/
(tuto pdf très con mais bien pour les bases)
si j'ai bien compris ton problème (garder des valeurs liées à un user suite à son identification, à peu près ??) je te conseille d'aller voir du côté des cookies ou encore (bien plus simple à mon humble avis) du côté des sessions.
Pour les sessions en gros :
- session_start() au début de chaque fichier php
- utilisation de la "super variable" $_SESSION
ex: si identification Ok => $_SESSION['log'] = 'ok'
et après au début de tes autres fichiers (ou scripts) tu testes avec
if (isset($_SESSION['log'])) { echo "user connecté"; } else { echo "user pas connecté"; }
voilà c'est peut être pas très clair donc je te renvoie là https://beaussier.developpez.com/articles/php/session/
(tuto pdf très con mais bien pour les bases)