Bonjour à tous.
M'étant remis il y a peu à PHP, je me heurte à une problème.
J'ai une base de données MySQL. A l'aide d'un formulaire, je crée une
interface dont les listes déroulantes se remplissent en fonction de
certains champs de ma base.
Jusqu'ici tout va bien.
Fatalement, j'ai un bouton "Envoyer" qui m'appelle une routine
m'affichant un tableau avec le résultat de la requête SQL suivant mes choix.
Tout cela fonctionne parfaitement avec PHP 4 et MySQL 4 sous ma vieille
Mandriva 10.1
Mais sous ma nouvelle Kubuntu 6 (PHP 5.1 et MySQL 5) mon formulaire
(méthode POST) n'envoie rien à ma routine d'interrogation de la base.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
J'ai une base de données MySQL. A l'aide d'un formulaire, je crée une interface dont les listes déroulantes se remplissent en fonction de certains champs de ma base. Jusqu'ici tout va bien. Fatalement, j'ai un bouton "Envoyer" qui m'appelle une routine m'affichant un tableau avec le résultat de la requête SQL suivant mes choix.
Tout cela fonctionne parfaitement avec PHP 4 et MySQL 4 sous ma vieille Mandriva 10.1 Mais sous ma nouvelle Kubuntu 6 (PHP 5.1 et MySQL 5) mon formulaire (méthode POST) n'envoie rien à ma routine d'interrogation de la base.
[...]
Elle fonctionne très bien. Seulement la routine "appel_base.php" ne reçoit rien.
Rien, c'est-à-dire que la requête ne parvient pas au serveur web ? Qu'elle arrive au serveur web mais que le script appel_base.php n'est pas appelé ? Que le script est appelé mais qu'il n'y a rien dans le tableau $_REQUEST[] ?
Je soupçonne un réglage de paramètre dans le php.ini ou peut-être Apache.
Regarde déjà les logs d'Apache. Tu peux aussi faire une page statique censée contenir le formulaire que tu génères en PHP, et essayer à partir de cette page statique.
Qu'en pensez-vous ?
J'en pense que peut-être le problème ne vient pas de PHP, mais ça tu es le seul à pouvoir nous le dire.
J'ai une base de données MySQL. A l'aide d'un formulaire, je crée une
interface dont les listes déroulantes se remplissent en fonction de
certains champs de ma base.
Jusqu'ici tout va bien.
Fatalement, j'ai un bouton "Envoyer" qui m'appelle une routine
m'affichant un tableau avec le résultat de la requête SQL suivant mes choix.
Tout cela fonctionne parfaitement avec PHP 4 et MySQL 4 sous ma vieille
Mandriva 10.1
Mais sous ma nouvelle Kubuntu 6 (PHP 5.1 et MySQL 5) mon formulaire
(méthode POST) n'envoie rien à ma routine d'interrogation de la base.
[...]
Elle fonctionne très bien.
Seulement la routine "appel_base.php" ne reçoit rien.
Rien, c'est-à-dire que la requête ne parvient pas au serveur web ?
Qu'elle arrive au serveur web mais que le script appel_base.php n'est
pas appelé ? Que le script est appelé mais qu'il n'y a rien dans le
tableau $_REQUEST[] ?
Je soupçonne un réglage de paramètre dans le php.ini ou peut-être Apache.
Regarde déjà les logs d'Apache. Tu peux aussi faire une page statique
censée contenir le formulaire que tu génères en PHP, et essayer à partir
de cette page statique.
Qu'en pensez-vous ?
J'en pense que peut-être le problème ne vient pas de PHP, mais ça tu es
le seul à pouvoir nous le dire.
J'ai une base de données MySQL. A l'aide d'un formulaire, je crée une interface dont les listes déroulantes se remplissent en fonction de certains champs de ma base. Jusqu'ici tout va bien. Fatalement, j'ai un bouton "Envoyer" qui m'appelle une routine m'affichant un tableau avec le résultat de la requête SQL suivant mes choix.
Tout cela fonctionne parfaitement avec PHP 4 et MySQL 4 sous ma vieille Mandriva 10.1 Mais sous ma nouvelle Kubuntu 6 (PHP 5.1 et MySQL 5) mon formulaire (méthode POST) n'envoie rien à ma routine d'interrogation de la base.
[...]
Elle fonctionne très bien. Seulement la routine "appel_base.php" ne reçoit rien.
Rien, c'est-à-dire que la requête ne parvient pas au serveur web ? Qu'elle arrive au serveur web mais que le script appel_base.php n'est pas appelé ? Que le script est appelé mais qu'il n'y a rien dans le tableau $_REQUEST[] ?
Je soupçonne un réglage de paramètre dans le php.ini ou peut-être Apache.
Regarde déjà les logs d'Apache. Tu peux aussi faire une page statique censée contenir le formulaire que tu génères en PHP, et essayer à partir de cette page statique.
Qu'en pensez-vous ?
J'en pense que peut-être le problème ne vient pas de PHP, mais ça tu es le seul à pouvoir nous le dire.
Beryl
Rien, c'est-à-dire que la requête ne parvient pas au serveur web ? Qu'elle arrive au serveur web mais que le script appel_base.php n'est pas appelé ? Que le script est appelé mais qu'il n'y a rien dans le tableau $_REQUEST[] ?
Les deux variables $jeu et $genre envoyées à la routine appel_base arrivent vides. appel_base est correctement appelé et teste ces deux variables. Comme elles ne contiennent rien (testé dans la routine), il ne va pas plus loin.
Regarde déjà les logs d'Apache. Tu peux aussi faire une page statique censée contenir le formulaire que tu génères en PHP, et essayer à partir de cette page statique.
Ce qui me fait penser à un réglage de paramètre est que tout cela fonctionne sous PHP4 avec MySQL 4. Et manifestement pas avec les versions 5... Pour la page statique, très bonne idée : j'essaie de suite !
J'en pense que peut-être le problème ne vient pas de PHP, mais ça tu es le seul à pouvoir nous le dire.
Une dernière chose : sous Mandrake je suis en iso8859-15 et sous Kubuntu en utf-8. Je ne pense pas que le problème vienne de là mais comme je galère pour trouver je préfère donner toutes les indications !
Merci.
Rien, c'est-à-dire que la requête ne parvient pas au serveur web ?
Qu'elle arrive au serveur web mais que le script appel_base.php n'est
pas appelé ? Que le script est appelé mais qu'il n'y a rien dans le
tableau $_REQUEST[] ?
Les deux variables $jeu et $genre envoyées à la routine appel_base
arrivent vides.
appel_base est correctement appelé et teste ces deux variables. Comme
elles ne contiennent rien (testé dans la routine), il ne va pas plus loin.
Regarde déjà les logs d'Apache. Tu peux aussi faire une page statique
censée contenir le formulaire que tu génères en PHP, et essayer à partir
de cette page statique.
Ce qui me fait penser à un réglage de paramètre est que tout cela
fonctionne sous PHP4 avec MySQL 4. Et manifestement pas avec les
versions 5...
Pour la page statique, très bonne idée : j'essaie de suite !
J'en pense que peut-être le problème ne vient pas de PHP, mais ça tu es
le seul à pouvoir nous le dire.
Une dernière chose : sous Mandrake je suis en iso8859-15 et sous Kubuntu
en utf-8. Je ne pense pas que le problème vienne de là mais comme je
galère pour trouver je préfère donner toutes les indications !
Rien, c'est-à-dire que la requête ne parvient pas au serveur web ? Qu'elle arrive au serveur web mais que le script appel_base.php n'est pas appelé ? Que le script est appelé mais qu'il n'y a rien dans le tableau $_REQUEST[] ?
Les deux variables $jeu et $genre envoyées à la routine appel_base arrivent vides. appel_base est correctement appelé et teste ces deux variables. Comme elles ne contiennent rien (testé dans la routine), il ne va pas plus loin.
Regarde déjà les logs d'Apache. Tu peux aussi faire une page statique censée contenir le formulaire que tu génères en PHP, et essayer à partir de cette page statique.
Ce qui me fait penser à un réglage de paramètre est que tout cela fonctionne sous PHP4 avec MySQL 4. Et manifestement pas avec les versions 5... Pour la page statique, très bonne idée : j'essaie de suite !
J'en pense que peut-être le problème ne vient pas de PHP, mais ça tu es le seul à pouvoir nous le dire.
Une dernière chose : sous Mandrake je suis en iso8859-15 et sous Kubuntu en utf-8. Je ne pense pas que le problème vienne de là mais comme je galère pour trouver je préfère donner toutes les indications !
Merci.
Legeais Vincent
Les deux variables $jeu et $genre envoyées à la routine appel_base arrivent vides.
Remplace $jeu par $_REQUEST["jeu"] et de même pour $genre. Si ça résout le problème alors c'est juste un problème de config de php.ini : mettre les variables globales à On au lieu de Off (ou les laisser à Off et utiliser les $_XXX)
-- Vincent
Les deux variables $jeu et $genre envoyées à la routine appel_base
arrivent vides.
Remplace $jeu par $_REQUEST["jeu"] et de même pour $genre.
Si ça résout le problème alors c'est juste un problème de config de
php.ini : mettre les variables globales à On au lieu de Off
(ou les laisser à Off et utiliser les $_XXX)
Les deux variables $jeu et $genre envoyées à la routine appel_base arrivent vides.
Remplace $jeu par $_REQUEST["jeu"] et de même pour $genre. Si ça résout le problème alors c'est juste un problème de config de php.ini : mettre les variables globales à On au lieu de Off (ou les laisser à Off et utiliser les $_XXX)
-- Vincent
Olivier Miakinen
Rien, c'est-à-dire que la requête ne parvient pas au serveur web ? Qu'elle arrive au serveur web mais que le script appel_base.php n'est pas appelé ? Que le script est appelé mais qu'il n'y a rien dans le tableau $_REQUEST[] ?
Les deux variables $jeu et $genre envoyées à la routine appel_base arrivent vides.
Tu veux dire $name et $champ de la fonction liste() qui sont censées valoir soit "jeu" soit "genre" ? Ou alors tu espères que le script appel_base.php reçoive magiquement des variables globales $jeu et $genre comme cela se faisait avant PHP 4.2 et qui nécessitait de modifier register_globals quand on avait trop la flemme de vérifier ses variables ?
appel_base est correctement appelé et teste ces deux variables. Comme elles ne contiennent rien (testé dans la routine), il ne va pas plus loin.
Attention de ne pas appeler « routine » (souvent synonyme de fonction) ce qui est en réalité un « script » (appelable directement de l'extérieur par n'importe qui, avec les paramètres qu'il veut).
Rien, c'est-à-dire que la requête ne parvient pas au serveur web ?
Qu'elle arrive au serveur web mais que le script appel_base.php n'est
pas appelé ? Que le script est appelé mais qu'il n'y a rien dans le
tableau $_REQUEST[] ?
Les deux variables $jeu et $genre envoyées à la routine appel_base
arrivent vides.
Tu veux dire $name et $champ de la fonction liste() qui sont censées
valoir soit "jeu" soit "genre" ? Ou alors tu espères que le script
appel_base.php reçoive magiquement des variables globales $jeu et
$genre comme cela se faisait avant PHP 4.2 et qui nécessitait de
modifier register_globals quand on avait trop la flemme de vérifier
ses variables ?
appel_base est correctement appelé et teste ces deux variables. Comme
elles ne contiennent rien (testé dans la routine), il ne va pas plus loin.
Attention de ne pas appeler « routine » (souvent synonyme de fonction)
ce qui est en réalité un « script » (appelable directement de
l'extérieur par n'importe qui, avec les paramètres qu'il veut).
Rien, c'est-à-dire que la requête ne parvient pas au serveur web ? Qu'elle arrive au serveur web mais que le script appel_base.php n'est pas appelé ? Que le script est appelé mais qu'il n'y a rien dans le tableau $_REQUEST[] ?
Les deux variables $jeu et $genre envoyées à la routine appel_base arrivent vides.
Tu veux dire $name et $champ de la fonction liste() qui sont censées valoir soit "jeu" soit "genre" ? Ou alors tu espères que le script appel_base.php reçoive magiquement des variables globales $jeu et $genre comme cela se faisait avant PHP 4.2 et qui nécessitait de modifier register_globals quand on avait trop la flemme de vérifier ses variables ?
appel_base est correctement appelé et teste ces deux variables. Comme elles ne contiennent rien (testé dans la routine), il ne va pas plus loin.
Attention de ne pas appeler « routine » (souvent synonyme de fonction) ce qui est en réalité un « script » (appelable directement de l'extérieur par n'importe qui, avec les paramètres qu'il veut).
Beryl
Les deux variables $jeu et $genre envoyées à la routine appel_base arrivent vides.
Remplace $jeu par $_REQUEST["jeu"] et de même pour $genre. Si ça résout le problème alors c'est juste un problème de config de php.ini : mettre les variables globales à On au lieu de Off (ou les laisser à Off et utiliser les $_XXX)
Bien vu !!!! C'est exactement ça ! Je me doutais bien qu'un mauvais paramétrage était cause de tout cela.
Désolé pour l'amalgame routine/srcipt. J'ai davantage d'expérience avec l'assembleur et quelques autres langages plus évolués (Pascal, Basic, E, etc.) J'avoue que PHP me pose quelques problèmes... Surtout le mélange avec le HTML que j'apprécie très peu. Je bricole aussi avec Python en ce moment. Je trouve ce langage vraiment génial ! Mais je ne parviens pas encore à en faire ce que je veux, notamment pour le web, alors je me suis remis au PHP.
Encore merci pour votre coup de main !
Les deux variables $jeu et $genre envoyées à la routine appel_base
arrivent vides.
Remplace $jeu par $_REQUEST["jeu"] et de même pour $genre.
Si ça résout le problème alors c'est juste un problème de config de
php.ini : mettre les variables globales à On au lieu de Off
(ou les laisser à Off et utiliser les $_XXX)
Bien vu !!!!
C'est exactement ça !
Je me doutais bien qu'un mauvais paramétrage était cause de tout cela.
Désolé pour l'amalgame routine/srcipt. J'ai davantage d'expérience avec
l'assembleur et quelques autres langages plus évolués (Pascal, Basic, E,
etc.)
J'avoue que PHP me pose quelques problèmes... Surtout le mélange avec le
HTML que j'apprécie très peu.
Je bricole aussi avec Python en ce moment. Je trouve ce langage vraiment
génial ! Mais je ne parviens pas encore à en faire ce que je veux,
notamment pour le web, alors je me suis remis au PHP.
Les deux variables $jeu et $genre envoyées à la routine appel_base arrivent vides.
Remplace $jeu par $_REQUEST["jeu"] et de même pour $genre. Si ça résout le problème alors c'est juste un problème de config de php.ini : mettre les variables globales à On au lieu de Off (ou les laisser à Off et utiliser les $_XXX)
Bien vu !!!! C'est exactement ça ! Je me doutais bien qu'un mauvais paramétrage était cause de tout cela.
Désolé pour l'amalgame routine/srcipt. J'ai davantage d'expérience avec l'assembleur et quelques autres langages plus évolués (Pascal, Basic, E, etc.) J'avoue que PHP me pose quelques problèmes... Surtout le mélange avec le HTML que j'apprécie très peu. Je bricole aussi avec Python en ce moment. Je trouve ce langage vraiment génial ! Mais je ne parviens pas encore à en faire ce que je veux, notamment pour le web, alors je me suis remis au PHP.