Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1153 connectés 

  FORUM HardWare.fr
  Programmation

  [php] Comment faire un refresh, un vrai ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[php] Comment faire un refresh, un vrai ?

n°151406
yannick_fr​ere
Posté le 05-06-2002 à 00:05:13  profilanswer
 

Bonjour !
 
 
Voila, j'aimerais terminer ce soir mes histoires de cookies ...
 
Donc, si j'ai bien compris, lorsque j'envoie un cookie, j'ai besoin de rafraichir ma page si je veux que les infos du cookie soient prises en compte, c'est bien ça ? Et pareil quand je met à jour un cookie ...
 
Alors je me demandais quelle était la meilleure manière de faire un refresh correct ? Dois-je passer par un truc comme :
 
echo '<META HTTP-EQUIV="refresh" CONTENT="15; URL=xxxxxxxx.php">' ??
 
Ou bien est-ce qu'il vaut mieux utiliser header(location : url) ??
 
 
Voila, je ne demande que cela ! J'ai peur d'abuser, mais si quelqu'un pouvait m'élcairer rapidement, ce serait vraiment bien ! J'aimerais terminer ça ce soir, je déteste devoir arrêter au beau milieu d'un truc ;o)
 
Merci à tous !


Message édité par yannick_frere le 06-05-2002 à 00:06:02
mood
Publicité
Posté le 05-06-2002 à 00:05:13  profilanswer
 

n°151429
yannick_fr​ere
Posté le 05-06-2002 à 01:21:46  profilanswer
 

S'il vous plait, aidez-moi !
Je ne sais vraiment plus quoi faire, y a rien qui marche :(
 
J'ai un fichier qui contient ceci :
 
<?php
 setcookie(USERNAME,$a,time()+10000,"","",1) or die('Echec envoi cookie 1';) ;
 setcookie(PASSWORD,$b,time()+10000,"","","1" ) or die('Echec envoi cookie 2';) ;
 print('Cookie envoyé : USERNAME : '.$a.', PASSWORD : '.$b.'<br>';) or die('Echec envoi cookie 3';);
 print('<head><META HTTP-EQUIV="refresh" CONTENT="1; URL=index.php"></head>';) or die(''Echec envoi cookie 4';);
?>
 
Mes fichiers l'appellent pour envoyer des cookies et il est situé dans la racine de mon compte ...
Donc, je passe simplement en paramètre les valeurs du username ($a) et celle du password ($b) ...
 
Lorsque j'exécute ce fichier en entrant manuellement une url, voici ce qui se passe : il n'y a aucune erreur (cf tous les die) et la page renvoie bien vers index.php. Le cookie est créé et contient les bonnes valeurs ... sauf qu'il n'est pas crypté, alors que j'ai mis le 1 à la fin ! Ensuite, je pense que la date est également mauvaise, puisque lorsque l'index est appelé à la fin, il ne trouve pas de cookie et aucune valeur ne sort ...  
J'ai placé ce fichier dans un sous-répertoire :
 
<?php
echo $USERNAME ;
echo $PASSWORD ;
?>
 
Y a que ça dedans ... ben quand je l'appelle après l'envoi des fichiers, il n'affiche rien ... Même quand je rafraichi plusieurs fois (c'est d'ailleurs pour cela que je pense que mon cookie est expiré dès la réception, ce qui est super utile ...)
 
Que puis-je faire ??  :(  
 
 
 
P'tit rappel : je cherche une manière élégante et simple de faire en sorte que :
- mes cookies soient correctement envoyés ;
- que je puisse faire en sorte que les infos envoyées dans le cookie soient disponible aux autres pages du site ... A chaque fois que j'envoie de nouvelles valeurs à mes variables, les pages de mon site continuent de s'afficher avec les anciennes --> je suppose qu'il faut rafraichir la page, mais comment ?
 
 
Merci ! Svp, aidez un pov' débutant désespéré ...  :(

n°151440
Sh@rdar
Ex-PhPéteur
Posté le 05-06-2002 à 09:02:14  profilanswer
 

header ("location:url" );  
avant toute sortie html.


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°151442
gm_superst​ar
Appelez-moi Super
Posté le 05-06-2002 à 09:07:49  profilanswer
 

La déclaration de tes cookies me paraît bizarre :

Code :
  1. setcookie(USERNAME,$a,time()+10000,"","",1)


 
Les paramètres 4 et 5 sont pour le chemin et le domaine, or tu ne mets rien (chaine vide "" ), donc ton cookie ne s'applique à rien du tout. Si tu n'es pas sûr, mieux vaut ne pas mettre les paramètres comme ça le chemin et le domaine courant seront utilisés.
Le dernier paramètre (1) sert si tu utilises une connexion sécurisée (https) c'est ton cas ?
 
Donc le plus simple :

Code :
  1. setcookie(USERNAME, $a, time() + 10000);
  2. header("Location: ma_page.php" );

n°151691
yannick_fr​ere
Posté le 05-06-2002 à 13:54:41  profilanswer
 

Merci à vous deux ^^
 
Je vais essayer ça tout de suite !
 
Le header va-t-il réellement faire un refresh convenable et me permettre de charger les bonnes valeurs de mes cookies ?
 
Sinon, j'ai trouvé ceci sur phpbuilder (enfin je crois) :
 
 
PHP scripts often generate dynamic HTML that must not be cached by the client browser or any proxy caches between the server and the client browser. Many proxies and clients can be forced to disable caching with  
 
 
  1  
  2 header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT" );    // Date in the past
  3 header ("Last-Modified: " . gmdate("D, d M Y H:i:s" ) . " GMT" );  
  4                                                       // always modified
  5 header ("Cache-Control: no-cache, must-revalidate" );  // HTTP/1.1
  6 header ("Pragma: no-cache" );                          // HTTP/1.0
  7

 
 
Apparemment, cela forcerait le navigateur à réexécuter la page et non à la rechercher dans le cache ... Est-ce que ça pourrait m'être utile pour charger les bonnes valeurs de mes cookies ? Est-ce qu'il y a des contre-indications (augmentation des temps de chargement, au cas où le navigateur n'irait pas non plus rechercher les images dans le cache ...)
 
 
Merci pour votre aide !

n°151707
yannick_fr​ere
Posté le 05-06-2002 à 14:12:25  profilanswer
 

gm_superstar> Ce que tu m'as conseillé pour les cookies marche vraiment bien ! J'ai placé le header juste en dessous et la page est bien redirigée !
 
Y a juste un petit problème encore :o/ C'est que ma page "send_cookie.php" redirige bien vers "index.php", mais "index.php" conserve les données de l'ancien cookie (avant l'appele de "send_cookie.php" ...
Que puis-je faire pour que la page "index.php" prenne directement les bonnes valeurs ?
 
Après, je vous ennuierai plus, promis ^^ Y a plus que ça qui marche pas ^^

n°151741
gm_superst​ar
Appelez-moi Super
Posté le 05-06-2002 à 14:38:50  profilanswer
 

yannick_frere a écrit a écrit :

gm_superstar> Ce que tu m'as conseillé pour les cookies marche vraiment bien ! J'ai placé le header juste en dessous et la page est bien redirigée !
 
Y a juste un petit problème encore :o/ C'est que ma page "send_cookie.php" redirige bien vers "index.php", mais "index.php" conserve les données de l'ancien cookie (avant l'appele de "send_cookie.php" ...
Que puis-je faire pour que la page "index.php" prenne directement les bonnes valeurs ?
 
Après, je vous ennuierai plus, promis ^^ Y a plus que ça qui marche pas ^^



Oui c'est normal, parce que quand on utilise la fonction header() on reste dans la même connexion HTTP, donc ton cookie ne renvoie pas la nouvelle valeur.
 
Il faut passer par une page html intermédiaire qui te redirigera vers le nouveau script avec une balise <meta>.
 
Donc à la fin de ton premier script, tu envoies ceci  :

Code :
  1. <html>
  2. <head>
  3. <meta http-equiv="refresh" content="1;url=index.php">
  4. </head>
  5. <body>
  6. Cookie envoyé...
  7. </body>
  8. </html>


 
Le <body> est optionnel.
Tu peux aussi jouer sur le temps que s'affiche ce message (ici 1 seconde)

n°151781
yannick_fr​ere
Posté le 05-06-2002 à 15:14:44  profilanswer
 

Soit béni, gm_superstar !
 
Tout fonctionne parfaitement maintenant !
 
 
Vraiment, je te dis un grand merci pour ton aide ! C'était très sympa de ta part !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [php] Comment faire un refresh, un vrai ?

 

Sujets relatifs
[javascript] refresh[PHP] a propos de --header("Refresh:")--
Lien-javascript pour retourner en arriere et de faire un "refresh"[PHP-MySQL] Refresh lors du retour à la pase suivante non désiré
Question : Delphi ou Visual C++ ?? ceci est une vrai question !!refresh de pages asp
[HTML] balise meta ? refresh auto ? redirection.refresh d'une datagrid sous VB6
Refresh d'une liste déroulante dans un formulaire AccessAide pour un vrai Newbie !!!...
Plus de sujets relatifs à : [php] Comment faire un refresh, un vrai ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR