Titre: Redirection 302 PHP Posté par: the lsd le 10 Janvier 2017 à 10:10:47 Hello all,
J'étais tranquillement en train de vous pondre un chall hier, et je suis tombé sur un comportement étrange de php. Ci dessous, le code : Code: (php) <?php Théoriquement, ce code ne fonctionne pas, php refusant d'envoyer des en-têtes http à partir du moment où le buffer de sortie n'est pas vide. Ceeeeeependant, sur mon localhost, avec PHP7, ce code fonctionne sans problème, je suis bien redirigé vers header.php?itworks. Quelqu'un aurait une explication sur le pourquoi du comment ? Enjoy The lsd Titre: Re : Redirection 302 PHP Posté par: lovenunu le 10 Janvier 2017 à 13:54:36 hello the_lsd.
Je suppose que maintenant PHP n'evoies pas le buffer de sortie tout de suite. (et ça doit être lié à cette rfc: https://wiki.php.net/rfc/continue_ob) Si on le vide à la main dans ton exemple, ça pète bien: Code: <?php Titre: Re : Redirection 302 PHP Posté par: the lsd le 10 Janvier 2017 à 14:55:00 moké, j'étais bien tombé sur des mecs qui parlaient d'ob_flush, mais j'étais pas tombé sur la doc :)
Du coup, de ce que je comprend de la doc, toute la sortie est bufferisée à part et donc rien n'est envoyé immédiatement, ce qui explique que le header() fonctionne, puisque le client n'a rien reçu. Nickel, j'ai ma réponse :D Thanks Enjoy The lsd |