IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

rafraichissement de page


Sujet :

Langage PHP

  1. #1
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Points : 1 094
    Points
    1 094
    Par défaut rafraichissement de page
    Bonjour,

    J'ai réalisé une application en php, MySQL dans laquelle j'utilise des includes de fichier pour faire des "frames".

    Pour plusieurs de mes pages, je voudrai un rafraichissement (automatique et unique) juste après que la page soit chargée (notamment pour récupérer les données mises à jour dans ma base ou des images mises à jour), pour cela j'utilise:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header ("Cache-control: no-store, no-cache, must-revalidate");
    Mais ça ne fonctionne pas, je suis obligée de rafraichir ma page manuellement pour que les mises à jour apparaissent.

    Dans une autre page, j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <META HTTP-EQUIV="Refresh" CONTENT="60;">
    pour actualiser ma page toutes les minutes et ça fonctionne très bien...

    Par contre de la même façon, je n'arrive pas à rafraichir ma page une unique fois en utillisant la balise META.

    Quelqu'un a une idée?

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    pourquoi ne fais tu pas un refresh javascript ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<script type='text/javascript'>document.location.reload(true);</script>";
    ?

  3. #3
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Points : 1 094
    Points
    1 094
    Par défaut
    Parce que je ne connaissai pas...

    Je vais essayer, merci.

  4. #4
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Points : 1 094
    Points
    1 094
    Par défaut
    Ben... j'ai toujours le même résultat... Je suis obligée de rafraichir manuellement pour afficher les modifs

  5. #5
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ce que je ne comprend pas, c est pourquoi recharger la page des qu elle est chargée.

    alors si le reload ne fonctionne pas, tu peux essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<script type='text/javascript'>document.location.replace('tapage.php');</script>";

  6. #6
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Points : 1 094
    Points
    1 094
    Par défaut
    Parce que dans cette page, j'ai un formulaire qui modifie les données de ma table or, quand elle se réaffiche après mises à jour des données dans la table, ce sont les précédentes données qui sont affichées et non celles sauvegardées dans ma table.

    J'ai le même problème sur une autre page avec des images générées.

    Je vais essayer ton script.

  7. #7
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    t as pas mis un submit ?
    c est bizarre qu il garde les anciennes données

  8. #8
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Points : 1 094
    Points
    1 094
    Par défaut
    Ben si, évidemment j'ai un submit, je pense que les anciennes données sont conservées dans le cache et réaffichées...

    Encore plus bizarre, avec ton second script et malgré le submit, ma page boucle sur elle même...

    Je sens que tu vas me demander mon code dans pas longtemps, donc un instant, il faut que je le rapatrie du serveur distant...

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Peut-être que le header que tu envoie n'est pas suffisant? Voici un extrait de la doc php:

    Les scripts PHP génèrent souvent du HTML dynamiquement, qui ne doit pas être mis en cache, ni par le client, ni par les proxy intermédiaires. On peut forcer la désactivation du cache de nombreux clients et proxy avec :

    Exemple 5. Interdire la mise en cache avec header()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    // Date du passé
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
     
    // toujours modifié
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
     
    // HTTP/1.1
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Cache-Control: post-check=0, pre-check=0", false);
     
    // HTTP/1.0
    header("Pragma: no-cache");
    ?>
    Note : Vous pouvez vous rendre compte que vos pages ne sont jamais mises en cache même si vous utilisez tous les en-têtes ci-dessus. Il existe toute une collection de paramètres que les utilisateurs peuvent modifier sur leur navigateur pour modifier le comportement par défaut du cache. En envoyant les en-têtes ci-dessus, vous pouvez imposer vos propres valeurs.

  10. #10
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    du code! du code ! du code !

  11. #11
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Points : 1 094
    Points
    1 094
    Par défaut
    Voilà, voilà...

    connect_logimyl() est une fonction qui me permet de formater et envoyer les requetes sur ma base, ça fonctionne, pas de problème de ce côté!

    D'ailleurs, mes données sont bien mises à jour dans la base...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    if(function_exists('connect_logimyl')==FALSE)
    {
    	include("../connect_logimyl.inc.php");
    }
     
    $code_palette=$_POST['code_palette'];
    //Requete sur la table palette pour récupérer toutes les données nécessaires à l'édition de la fiche
    $table="palette";
    $champs="*";
    $predicat="code_palette='$code_palette'";
     
    connect_logimyl();
    $query_sel=select($table, $champs, $predicat);
    //echo "<br><br><div align='center'><br>Edition de la fiche palette pour modification des champs<br><br></div>";
    echo "<table border='1' align='center' width='50%'>";
    echo "<form method='post' action=''><input type='hidden' name='code_palette' value='$code_palette'";
     
     
    while($data=mysql_fetch_array($query_sel))
    {
         echo "<tr><th>Numéro grébiche</th><td><input type='text' name='grebiche' value='".$data['numero_grebiche']."' readonly=''></td></tr>";
         echo "<tr><th>Machine</th><td><input type='text' name='machine' value='".$data['machine']."' readonly=''></td></tr>";
         echo "<tr><th>Conducteur</th><td><input type='text' name='conducteur' value='".$data['code_conducteur']."' readonly=''></td></tr>";
         echo "<tr><th>Numéro palette</th><td><input type='text' name='num_palette' value='".$data['numero_palette']."' readonly=''></td></tr>";
         echo "<tr><th>Signature</th><td><input type='text' name='signature' value='".$data['signature']."' readonly=''></td></tr>";
         echo "<tr><th>Folios</th><td><input type='text' name='folios' value='".$data['']."' readonly=''></td></tr>";
         echo "<tr><th>Langue</th><td><input type='text' name='langue' value='".$data['langue']."' readonly=''></td></tr>";
         echo "<tr><th>Version</th><td><input type='text' name='version' value='".$data['version']."' readonly=''></td></tr>";
         echo "<tr><th>Calage</th><td><input type='text' name='calage' value='".$data['calage']."' readonly=''></td></tr>";
         echo "<tr><th>Nombre de packs</th><td><input type='text' name='nb_packs' value='".$data['nb_packs']."'></td></tr>";
         echo "<tr><th>Nombre d'exemplaires par packs</th><td><input type='text' name='nb_exemplaires_pack' value='".$data['nb_exemplaires_pack']."'></td></tr>";
         echo "<tr><th>Pagination</th><td><input type='text' name='pagination' value='".$data['pagination']."' readonly=''></td></tr>";
         echo "<tr><th>Destinataire</th><td><input type='text' name='destinataire' value='".$data['destinataire']."' readonly=''></td></tr>";
         echo "<tr><th>Destination</th><td><input type='text' name='destination' value='".$data['destination']."' readonly=''></td></tr>";
         echo "<tr><th>Nombre total d'exemplaires</th><td><input type='text' name='nb_exemplaires_palette' value='".$data['nb_exemplaires_palette']."'></td></tr>";
     
     
     
    }
    echo "<tr align='center'><td colspan='2'><br><br><input type='submit' name='sub_modif' value='Modifier'></td></tr></form></table>";
     
    ?>
     
    <?php
    //Récupération des données du formulaire
    $nb_packs=$_POST['nb_packs'];
    $nb_exemplaires_pack=$_POST['nb_exemplaires_pack'];
    $nb_exemplaires_palette=$_POST['nb_exemplaires_palette'];
    $code_palette=$_POST['code_palette'];
     
    //Sauvegarde des données dans la table
    $table="palette";
    $champs="nb_packs, nb_exemplaires_pack, nb_exemplaires_palette";
    $valeurs="'$nb_packs','$nb_exemplaires_pack','$nb_exemplaires_palette'";
    $predicat="code_palette='$code_palette'";
     
    $query_up=update($table, $champs, $valeurs, $predicat);
     
     
    ?>
    berro>> Je vais essayer de modifier mon header...

  12. #12
    Membre éprouvé Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Points : 1 262
    Points
    1 262
    Par défaut
    Salut et en placant cette partie la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <?php 
    //Récupération des données du formulaire
    $nb_packs=$_POST['nb_packs'];
    $nb_exemplaires_pack=$_POST['nb_exemplaires_pack'];
    $nb_exemplaires_palette=$_POST['nb_exemplaires_palette'];
    $code_palette=$_POST['code_palette'];
     
    //Sauvegarde des données dans la table
    $table="palette";
    $champs="nb_packs, nb_exemplaires_pack, nb_exemplaires_palette";
    $valeurs="'$nb_packs','$nb_exemplaires_pack','$nb_exemplaires_palette'";
    $predicat="code_palette='$code_palette'";
     
    $query_up=update($table, $champs, $valeurs, $predicat);
     
     
    ?>
    avant la recuperation des données?

  13. #13
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ta portion sous le formulaire, tu devrais pas la mettre avec un isset qui ne le declencherais que quand tu fais ton submit ?

    peut etre faut il que tu mette le nom de ta page dans le action de ton form ?

  14. #14
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    mwarf oui !
    faut mettre ca avant la recup des données sinon effectivement tu recupère avant modif

    bien vu

    vais aller me boire un kawa moi

  15. #15
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Points : 1 094
    Points
    1 094
    Par défaut
    Ben non, Dans la première partie du code, je récupère les données de ma table pour lesquelles je veux faire une modif, pour cela j'ai un paramètre passé par le formulaire précédent qui est $_POST[code_palette], ensuite, je fais les modifs dans le formulaire affiché et je le soumet.

    Le fait de mettre action='' me renvoie sur la même page où effectivement je réaffiche le même formulaire avec les données précédentes (l'erreur est là!) et me fait la sauvegarde en BD...

    OK, mon soucis est que je ne veux pas refaire un autre script pour faire la maj en BD et placer le code da sauvegarde en première partie de script me génère une erreur puisque je n'ai pas encore fait de submit et je n'ai donc aucune donnée dans ma requete...

  16. #16
    Membre éprouvé Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Points : 1 262
    Points
    1 262
    Par défaut
    avec une verification dans ce style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    if (isset($_POST['nb_packs'])
    {
    $nb_packs=$_POST['nb_packs'];
    $nb_exemplaires_pack=$_POST['nb_exemplaires_pack'];
    $nb_exemplaires_palette=$_POST['nb_exemplaires_palette'];
    $code_palette=$_POST['code_palette'];
     
    //Sauvegarde des données dans la table
    $table="palette";
    $champs="nb_packs, nb_exemplaires_pack, nb_exemplaires_palette";
    $valeurs="'$nb_packs','$nb_exemplaires_pack','$nb_exemplaires_palette'";
    $predicat="code_palette='$code_palette'";
     
    $query_up=update($table, $champs, $valeurs, $predicat);
    }
    comme ca si tu n'a pas fait de submit du gere par la mise a jour

  17. #17
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Points : 1 094
    Points
    1 094
    Par défaut
    Oui, oui, c'est ce que j'ai fait... looool

    Bon, merci, le problème est réglé...

    (Heureusement qu'il y en a encore qui bossent entre noël et nouvel an parce que c'est plutôt désert par ici depuis quelques jours).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Rafraichissement de pages
    Par lechewal dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/06/2006, 14h48
  2. Eviter la double insertion en rafraichissant la page
    Par p0Kep0K dans le forum Langage
    Réponses: 8
    Dernier message: 08/06/2006, 14h10
  3. pblm de rafraichissement de page html avec applet java
    Par BernardT dans le forum Applets
    Réponses: 7
    Dernier message: 31/05/2006, 17h35
  4. Rafraichissement de page -> texte d'un div disparait
    Par grinder59 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 03/05/2006, 18h09
  5. Rafraichissement de page
    Par Wormus dans le forum Langage
    Réponses: 7
    Dernier message: 13/12/2005, 16h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo