image généré probleme actualisation lors d'un 2e passage

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : image généré probleme actualisation lors d'un 2e passage

par drelb » 19 oct. 2005, 15:29

cela marche bcp mieux :) et je comprends que tu puisses faire une erreur à 3h du matin huhu

je te remercie beaucoup de ton aide :)

a bientot

drelb

par Xenon_54 » 19 oct. 2005, 15:13

Erreur de ma part:
echo '<img src="verify.png?'.time().'">';

par drelb » 19 oct. 2005, 12:33

j'avais essayé sans

justement si je le rajoute pas dans la fonction cela ne fonctionne pas .

Et c'est donc la raison pour laquel je l'avais rajouté.

par Xenon_54 » 19 oct. 2005, 04:27

Il faut ajouter l'appel à time() seulement lors de l'affichage HTML et non dans la fonction imagepng().

Essaie et tu verras ;)

par drelb » 19 oct. 2005, 04:15

j'ai écouté ton conseil et je te remercie de ton aide

donc j'ai du faire deux modifications dans le script que j'ai donné


ImagePNG($im, 'verify'.time().'.png');

echo '<img src="verify'.time().'.png">'; 

et cela marche bien mais le seul probleme maintenant cela genere des images avec differents noms sur l'espace disque , tres couteux en espace, à la place de s'écraser sur le meme nom .

donc :x la je vois pas trop comment regler ce nouveau probleme

par Xenon_54 » 19 oct. 2005, 03:51

Ajoute une chaine aléatoire après le nom de l'image:
echo '<img src="verify.png'.time().'">';
Ceci forcera le rafraichissement de la page étant donné que le nom semble être "changé" pour la navigateur alors que l'image reste bel et bien la même.

image généré probleme actualisation lors d'un 2e passage

par drelb » 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 :
<?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 :x


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