|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Membre expérimenté
![]() |
salut.
un ti soucis .. qui pourra m'aider svp? après avoir s'identifier, j ai un probleme au niveau de la redirection de la page et un message d'erreur s'affiche : Citation:
Code php :
c'est à ce niveau que j'ai le problème :header ("Location: produit.html"); Merci pour toutes idées
__________________
On essaie et ça marchera FIER de la revolution des jeunes tunisiens |
|||
|
00
|
|
|
#2 | |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 991 ![]() |
RTFM
Citation:
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 727 ![]() |
Benjamin Delespierre +1
C'est une erreur assez fréquente. Je rajouterais que cela n'a pas de sens de mettre un header('Location : un_document') dans une boucle ce n'est pas logique. Pour imager cela (en prenant quelques raccourcis), c'est un peu comme si on donnait au facteur un courrier (type classique : 1 nom, 1 une adresse précise), et après on lui dit de la poster à 2,3 voir 4 personnes et adresses différentes. Il fait comment le facteur ? Il y a théoriquement 1 seul document (contenu) à renvoyer à 1 personne, il doit donc avoir qu'une seule entête. C'est grosso modo comme ceci que ça fonctionne.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
00
|
|
|
#4 | |||
|
Membre expérimenté
![]() |
Citation:
mais heureusement je cherche une valeur unique !!! par contre j'ai changé le code en ajoutant une variable $trouv boolean Et une fois je sors de la boucle je teste sa valeur ... Aussi, j'ai supprimer tout les echo ainsi les espaces ... Mais c'est le même problème !! ![]() Voici le code de index.php: Code :
__________________
On essaie et ça marchera FIER de la revolution des jeunes tunisiens |
|||
|
00
|
|
|
#5 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 991 ![]() |
Ne rien afficher avant header (y compris des sauts de ligne).
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#6 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 808 ![]() |
Citation:
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 727 ![]() |
Citation:
Rajouter aussi un LIMIT 1 à la requête renforcerait encore plus le tout, et la requête retournera obligatoirement qu'1 seul résultat (ce qui n'est 100% garanti dans ton cas). Citation:
On voit un </html> à la fin, mais la balise <html>, elle est où dans tout ça d'ailleurs ? A tout les coups elle est générée avant le header(), et c'est cela qui provoquerait cette erreur.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
||
|
|
00
|
|
|
#8 | ||
|
Membre expérimenté
![]() |
bah voila tout le code :
Code :
__________________
On essaie et ça marchera FIER de la revolution des jeunes tunisiens |
||
|
00
|
|
|
#9 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 808 ![]() |
Euh... tu es sûr d'avoir vraiment compris le sens de la phrase :
Citation:
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
00
|
|
|
#10 |
|
Membre expérimenté
![]() |
Normalement
__________________
On essaie et ça marchera FIER de la revolution des jeunes tunisiens |
|
00
|
|
|
#11 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 808 ![]() |
Ben alors d'après toi, les 172 lignes précédent ton
elles font quoi ?
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#12 | ||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 991 ![]() |
Pour aller un peu plus loin car je vois que tu comprends pas trop.
PHP, quand il est utilisé en tant que module Apache est configuré de telle sorte que tout ce qui sort est par défaut du text/html. Donc ce script par exemple: va implicitement déclencher l'envoi de headers au navigateurs pour lui signaler que le contenu qu'on va lui transmettre est du HTML (comportement par défault, c'est paramétrable par ailleurs). Toi tu veux envoyer des headers supplémentaires (header location) mais tu le fais après avoir déjà envoyé du contenu (donc le headers HTML sont déjà partis). Or, dans le protocole HTTP (protocole qui est utilisé lors d'un échange HTML avec un serveur web, en l’occurrence Apache) spécifie que tous les headers doivent être envoyés en première partie du message à servir (donc avant tout contenu). C'est la raison pour laquelle tu as ce message d'erreur et que ton header n'est pas reçu par le navigateur, PHP l'a simplement ignoré. Tu as compris ? A noter que l'envoi de n'importe quel caractère (y compris un saut de ligne \n ou un espace) provoque l'envoi des headers. L'exemple le plus parlant est ce bout de code: Code :
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
||
|
10
|
Copyright © 2000-2012 - www.developpez.com