Eléphanteau du PHP |
39 Messages
31 août 2012, 10:48
Bonjour,
Merci pour ta réponse, je vais donc étoffer un peu tout ça.
J'ai une classe Captcha qui me génère une image au format png et me retourne le numéro qui a été généré.
Ce captcha est appelé par la classe MessageFormBuilder.
namespace Library\FormBuilder;
class MessageFormBuilder extends \Library\FormBuilder
{
public function build()
{
//...
New \Library\Captcha(array(
'size' => '34',
'marge' => '15',
'font' => 'angelina.ttf',
'num' => '6'
));
}
}
Dans le controller de mon application, je fais appel à cette classe qui a pour rôle de me générer un formulaire que je configure en fonction du module (inscription / connexion / message /...) .
Puis, étant donnée que je génère une image je modifie le header pour que l'image soit affichée.
$formHandler = new \Library\FormHandler($form, $this->managers->getManagerOf('Message'), $request);
//...
$this->app->httpResponse()->addHeader("Content-type: image/png");
C'est à ce niveau là que vient le problème puisque tout le contenu de la page s'efface au profit de l'image du captcha.
Si à contrario je ne modifie pas le header j'ai le contenu de la page qui s'affiche mais sans l'image du captcha. J'ai alors un code indescriptible.
En espérant avoir été compréhensible.
Bonne journée.