Erreur de requete et formulaire - PHP - Programmation
Marsh Posté le 18-01-2006 à 17:16:59
Il y a eu une erreur dans ta requette et tu ne vérifies pas si la requette c'est bien passé. Voilà d'où vient l'alerte (le "warning" ).
mysql_query retourne "false" en cas de probléme. A toi de vérifier si le résultat est égal à "false" pour savoir si ca n'a pas bien marcher.
Marsh Posté le 18-01-2006 à 17:27:21
Fais un echo de ta requête SQL pour la lire déjà, tu verras peut être l'erreur directement.
Marsh Posté le 18-01-2006 à 19:03:23
Code :
|
Voilà, rien de plus simple que çà mais pourtant toujours un probleme.
Lors du chargement de la page, rien est affiché.
Le formulaire fonctionne correctement ou il suffit que je recharge la page.
Si je remplace $classement par id alors ma requête est bien affichée.
L'erreur vient donc de la variable !
Note : j'ai aussi rajouté selected="selected" qui selectionnerait alors la valuer par defaut...rien ne change !
Marsh Posté le 18-01-2006 à 19:06:39
Je t'ai demandé de faire un echo de requête SQL, pourquoi tu ne le fais pas ?
Et puis quand on fait une requête SQL on fait un "or die(mysql_error())" au minimum ... histoire d'avoir quelques infos
Marsh Posté le 18-01-2006 à 19:12:29
d'ou vient ta variable $donnees['titre'] ????
il manque la creation du tableau avant
Marsh Posté le 18-01-2006 à 19:18:16
Zut ! C'est en recopia,nt que j'ai oublié while ($donnees = mysql_fetch_array($reponse) ){
Marsh Posté le 18-01-2006 à 19:29:13
BOn tu vas nous la mettre cette put*in de ligne de requête qu'on puisse voir où ça coince ??
Marsh Posté le 18-01-2006 à 20:05:23
Dj YeLL a écrit : BOn tu vas nous la mettre cette put*in de ligne de requête qu'on puisse voir où ça coince ?? |
Tout est là !
Code :
|
Marsh Posté le 18-01-2006 à 20:11:18
je tente le coup !!
au chargement initial la variable $_POST['choix'] est nulle, mais pas une fois qu'on a cliqué sur le bouton
maintenant débrouille toi la solution est là
Marsh Posté le 18-01-2006 à 20:12:03
Bon j'abandonne ... ma question me semblait pourtant simple ... tant pis
Marsh Posté le 18-01-2006 à 20:13:35
Dj YeLL a écrit : Bon j'abandonne ... ma question me semblait pourtant simple ... tant pis |
le problème aussi, du coup la ligne est inutile
il a un requête dans ce style : SELECT * FROM matable ORDER BY
forcément il manque qq chose
Marsh Posté le 18-01-2006 à 20:16:18
Sh@rdar a écrit : le problème aussi, du coup la ligne est inutile |
Ah parce que le form et le php sont sur la même page ?
Oui ben en effet d'accord ... je n'avais pas vu ça sous cet angle...
Marsh Posté le 18-01-2006 à 20:17:26
le détail qui tue
Citation : |
Marsh Posté le 18-01-2006 à 20:21:53
Sh@rdar a écrit : le détail qui tue
|
Ah beh oui ... là c'est vrai que ... enfin voilà quoi...
Mais bon, quelle drôle d'idée de lancer une requête SQL à l'affichage d'une page ... sans tester si on demande bien la page par POST par exemple
Marsh Posté le 18-01-2006 à 20:23:09
Vous etes nés avec le PHP en sciences infuses ou l'avez vous appris ???
Merci
@+
Marsh Posté le 18-01-2006 à 20:27:58
pour finir t'as vu la coquille ou pas ?
Marsh Posté le 18-01-2006 à 20:29:48
Bah faut pas le prendre comme ça ... c'est pas une question de Php, c'est une question de logique ...
Mais y'a pas mort d'homme
Fais un truc dans le genre :
Code :
|
++
Marsh Posté le 18-01-2006 à 20:43:50
Pour résumer, j'ai changé pour :
Code :
|
L'erreur retournée est :
Citation : Parse error: parse error, unexpected T_WHILE in d:\mes sites web\accueil\telecharge\film\film3.php on line 29 |
Citation : Mais bon, quelle drôle d'idée de lancer une requête SQL à l'affichage d'une page ... sans tester si on demande bien la page par POST par exemple |
Ce n'est qu'un morceau de ma page.
En fait, je liste un repertoire, j'ajoute les fichier à la BDD....d'où la requête à l'affichage de la page.
Quel était le probleme à mettre le formulaire dans la même page ?
Marsh Posté le 18-01-2006 à 20:45:21
le problème c'est que ta variable $_POST['choix'] (et donc $classement aussi puisque c'est une copie) ne vaut rien tant que tu n'as pas posté ton formulaire
donc la requête est incorrete, tout simplement
Marsh Posté le 18-01-2006 à 20:50:48
while ($donnees = mysql_fetch_array($reponse) );
!!!!!!!!!!!!!!!!!!!!!!!!!!!!
pas de point virgule a la fin
Marsh Posté le 18-01-2006 à 20:52:25
si ton form est ds la meme page de ton code php met cette ligne :
<form action="" method="post">
Marsh Posté le 18-01-2006 à 20:58:03
manustarfoot a écrit : si ton form est ds la meme page de ton code php met cette ligne : |
Je l'avais déjà mis çà.
Tout ce qu'il me manquait, c'était de donner une valeur à ma variable.
J'étais en train de chercher du côté de
Citation : empty |
, qui me semble etre la même chose (rattrapez moi si je me trompe).
Je comprends maintenant l'astuce que je ne connaissais pas.
Dernière question à laquelle vous ne m'avez pas repondu :
-Quel est le problème à mettre le formulaire dans la même page ?
Je vous remercide donc à tous de votre aide.
Marsh Posté le 18-01-2006 à 20:59:39
à ton niveau aucun, quand tu trouvera ça plus pratique autrement, c'est qu'il sera temps pour toi de passer à l'étape suivante
Marsh Posté le 18-01-2006 à 21:07:11
Merci pour ta reponse !!!
J'ai bien mis :
Code :
|
et j'ai cependant la même erreur :
Citation : |
Marsh Posté le 18-01-2006 à 21:12:18
Bon allez zou, avec ça ça devrait marcher :
Code :
|
Marsh Posté le 18-01-2006 à 21:17:14
Merci beaucoup DjYell !
A vrai dire, je n'aurai pas trouver tout seul...d'où le but de mon post !
Cependant, pour ne pas avoir le même problème la prochaine fois, je vais me documenter sur
Code :
|
C'est en forgeant qu'on devient forgeron !
Merci à toi et à ceux qui ont bien voulu m'aider
Marsh Posté le 18-01-2006 à 21:20:57
De rien,
fais un
Code : |
C'est une variable qui regorge de choses utiles
Marsh Posté le 18-01-2006 à 21:26:18
explication pour $_POST
c'est un tableau contenant les variables transmises en méthode POST, hors, ce tableau est toujours défini (mais pas toujours rempli)
il aurait fallu faire if (!isset($_POST['choix'])) à la place
Marsh Posté le 18-01-2006 à 21:34:42
Dj YeLL a écrit : De rien,
|
C'est un log de Hijackthis çà !!!
Merci beaucoup !
Edit : Bien plus instructif en le faisant comme çà que par la moquerie !
Marsh Posté le 18-01-2006 à 22:29:54
Sh@rdar a écrit : explication pour $_POST |
Tout à fait, j'y ai pensé juste après mon 1er message, puis il m'a semblé que la méthode "REQUEST_METHOD" était plus adaptée
Marsh Posté le 18-01-2006 à 17:10:03
Salut !
Voici un morceau de mon code :
C'est à partir de là que je rencontre le probleme.
J'ai alors une erreur :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\monchemin\bulletin.php on line 100
La ligne 100 étant : while ($donnees = mysql_fetch_array($reponse) )
Si je rajoute ("erreur req ".mysql_error()), j'ai alors :
erreur req 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 '' at line 1
A ce moment là, si je valide un champ du formulaire, tout marche normalement.
D'où vient ce probleme s'il vous plait ?