IE et les formulaires

Résolu
jubeau Messages postés 66 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 28 août 2005 - 16 janv. 2005 à 10:44
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 16 janv. 2005 à 12:47
Bonjour,

j'ai réalisé un script de personnalisation de bannières vierges, il
marche impeccablement sous FireFox, mais sous IE (sous CERTAINS IE, je
ne sais pas si c'est une question de réglages ou de versions), il ne
marche pas bien....



Le script est en test ici :

http://www.graph-site.net/creaban



A chaque fois qu'on accède à la page une image par défaut est créée...

La technique sous IE est de remplir le formulaire puis à le valider...

Il faut ensuite actualiser...et l'image s'affiche.



Sous firefox, pas besoin d'actualiser...

Pourtant sous l'image est bien créée...



Je viens de me rendre compte, que sous IE, l'image est stockée dans la
cache, ce qui pose problème : si on actualise pas : c'est pour lui
toujours la même image...



Ma question est donc :

comment faire pour interdire l'utilisation de la cache sur une page donnée ?

ou alors,

comment actualiser une seule fois la page sans obtenir de messages du
navigateur : " la page de ne peut être actualisée sans le renvoie
d'information...."



Si possible :

Je ne souhaite pas avoir de code à mettre dans le header...



J'ai une solution qui consiste à faire actualiser la page par l'utilisateur avec un bouton



Mais je préférerai que cela se fasse automatiquement. De plus sous IE le message cité plus haut apparait....



Un grand merci à tous ceux qui répondront !

(je commence à ne plus savoir que faire!)




www.graph-site.net

13 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
16 janv. 2005 à 11:02
Salut ;-)



je vois que tu enregistres toujours l'image sous le nom ban_web_1.jpg



pourquoi ne pas générer un id aléatoire, afficher l'image sous le nom ban_web_x.jpg ?



ensuite tu te fais un script de purge qui en fonction de la date de
création du fichier image le supprime si il a été créé depuis plus de x
minutes par exemple.



a ++

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
3
jubeau Messages postés 66 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 28 août 2005
16 janv. 2005 à 11:09
Oui, ça c'est une idée !!! (au début chaque image avait un nom
différent, en fonction du texte1, mais si le text1 restait le même...et
bien, le problème restait....)

Mais comment faire un tel script ???? je n'en ai aucune idée...mais il faudrait quelques chose qui se fasse automatiquement ?



Merci beaucoup !

www.graph-site.net
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
16 janv. 2005 à 11:13
Bah quand tu enregistres ton image, tu choisis un nombre aléatoire (ici compris entre 0 et 5000) :



$nb_hasard=rand(0,5000);



ensuite lorsque tu enregistres ton image, le fichier de destination sera égal à 'ban_'.$nb_hasard.'.jpg'



après donne nous ta source qui enregistre l'image et je peux te
modifier tout ça si tu veux (du momemt que le code n'est pas trop long)

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
0
jubeau Messages postés 66 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 28 août 2005
16 janv. 2005 à 11:22
Oups, je me suis mal exprimé, ce que je ne sais pas faire, c'est le script pour virer automatiquement les images d'un dossier...

Je vois bien ça comme ça :

on compte le nombre d'image du dossier, et si il y en a plus de 50, on supprime tout !



Sinon, j'ai encore un problème...dans le formulaire, j'ai une check
box... elle marche impec sous Firefox ( quand je valide la formulaire,
elle reste dans la position dans laquelle je l'ai mise)

mais chez moi avec IE, elle se décoche à chaque fois ce qui n'est pas très pratique...

Un idée sur ce problème ?


www.vulgarisation-informatique.com, c'est ton site ???



@ +
www.graph-site.net
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
16 janv. 2005 à 11:25
Non plutôt un truc comme ça pour le dossier :



$repertoire=opendir('ton_dossier/');

$temps=time()-240;



while($tmp=readdir($repertoire))

{

if(is_file($tmp) AND filemtime('ton_dossier/'.$tmp)<$temps)

{

unlink('ton_dossier/'.$tmp);

}

}
ici le temps limite avant d'effacer l'image est de 4 minutes.



"www.vulgarisation-informatique.com, c'est ton site ???"




Oui ;-)



Pour ton problème de checkbox faudrait nous montrer le code, après il doit y avoir un pb de javascript ou autre :-(



Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
0
jubeau Messages postés 66 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 28 août 2005
16 janv. 2005 à 11:35
Merci pour le code :-)

Les images ayant été créée il y a pkus de 4 minutes seront donc effacées, c'est ça ?






checkbox :

Voici le code avec uniquement ce qui concerne la checkbox (j'ai mis des commentaires)



// Si Le formulaire a été complèté, on récupère son contenu

if (isset($_POST['textban1']))

{

$cadre = $_POST['cadre'];

}



//Sinon, on balance des valeurs par défaut, pour montrer une image de demo

else

{

$cadre="on";

}



// si le checked est on on prépare le code à afficher

if ($cadre == "on")

{

$cadre="checked";

}




<form action="png.php" method="post">

" name="cadre" />

</form>



J'ai sans doute fais une boulette, mais je ne vois pas où...




www.graph-site.net
0
jubeau Messages postés 66 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 28 août 2005
16 janv. 2005 à 11:36
Mince j'ai trouvé pour la checkbox !!!



un " en trop !




" name="cadre" />



En le supprimant tou va bien...

désolé !


www.graph-site.net
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
16 janv. 2005 à 12:00
Oui ça supprimera toutes les images ayant été crées il y a plus de 4 minutes.



Ensuite pour ton code :




" name="cadre" />




Remplaces-le par ça :




name="cadre" />



a ++


Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
16 janv. 2005 à 12:01
Oui ça supprimera toutes les images ayant été crées il y a plus de 4 minutes.



Ensuite pour ton code :




" name="cadre" />




Remplaces-le par ça :




name="cadre" />



et ensuite ton $cadre doit être égal à checked="checked" et non checked tout court



a ++


Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
0
jubeau Messages postés 66 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 28 août 2005
16 janv. 2005 à 12:09
Bon,

tout marche, sauf la suppression des images...

Dans mon fichier (qui se trouve dans le dossier creaban/ à la racine de mon site) j'ai mis ceci :



$repertoire=opendir('img/');

$temps=time()-60;



while($tmp=readdir($repertoire))

{

if(is_file($tmp) AND filemtime('img/'.$tmp)<$temps)

{

unlink('img/'.$tmp);

}

}



Les images se trouvent bien dans le dossier img...

aucun message d'erreur...

le chemin semble être bon...



@ + et encore merci !

www.graph-site.net
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
16 janv. 2005 à 12:11
Ok, sur certains serveurs (en tout cas sous windows par exemple) la
fonction is_file ou is_dir ne fonctionne pas correctement. Donc
remplaces le code suivant :




if(is_file($tmp) AND filemtime('img/'.$tmp)<$temps)

{

unlink('img/'.$tmp);

}



par ça :





if($tmp!='.' AND $tmp!='..' AND filemtime('img/'.$tmp)<$temps)

{

unlink('img/'.$tmp);

}



voilà ;-)


Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
0
jubeau Messages postés 66 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 28 août 2005
16 janv. 2005 à 12:29
ça marche !!!

Merci beaucoup pour tout !



Je t'envois un mail...



@ +

www.graph-site.net
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
16 janv. 2005 à 12:47
De rien ;-)

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
0
Rejoignez-nous