image généré probleme actualisation lors d'un 2e passage
Posté : 19 oct. 2005, 03:49
bonjour
j'ai crée un formulaire avec une image de verification.
Une fois le formulaire validé, jai une 2e page php qui controle les erreurs possibles avant d'insérer, et qui propose un lien pour retourner au formulaire en cas d'erreur.
le probleme est que l'image généré n'est pas rafrachi si la personne retourne sur la page du formulaire .
donc j'ai essayé de mettre au debut du formulaire php
ceci :

voici mon code pour generer image (qui marche)
j'ai crée un formulaire avec une image de verification.
Une fois le formulaire validé, jai une 2e page php qui controle les erreurs possibles avant d'insérer, et qui propose un lien pour retourner au formulaire en cas d'erreur.
le probleme est que l'image généré n'est pas rafrachi si la personne retourne sur la page du formulaire .
donc j'ai essayé de mettre au debut du formulaire php
ceci :
<?php
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>
mais cela ne fait rien sur le cache pour l'image donc voici mon code pour generer image (qui marche)
<?php
/*register the session variable. */
session_register('new_string');
$im = ImageCreate(100, 40);
sscanf("EEE8AA", "%2x%2x%2x", $red1, $green1, $blue1);
$white = ImageColorAllocate($im, $red1, $green1, $blue1);
sscanf("1E90FF", "%2x%2x%2x", $red2, $green2, $blue2);
$black = ImageColorAllocate($im, $red2, $green2, $blue2);
srand((double)microtime()*1000000);
$string = md5(rand(0,9999));
$new_string = substr($string, 17, 5);
ImageFill($im, 0, 0, $black);
ImageString($im, 4, 5, 19, $new_string, $white);
ImagePNG($im, "verify.png");
ImageDestroy($im);
echo "<tr>";
echo "<td>";
echo "<p>";
echo "Type the code you see in the image in the box.(case sensitive)";
echo "</p>";
echo "<center>";
echo "<img src=\"verify.png\">";
echo "</center>";
echo "</td>";
echo "<td>";
echo "<center>";
echo "<input name=\"random\" type=\"text\" value=\"\">";
echo "</center>";
echo "</td>";
echo "</tr>";
?>
merci d'avance de votre aide