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 :

Actualisation de la page après modification


Sujet :

Langage PHP

  1. #1
    Invité
    Invité(e)
    Par défaut Actualisation de la page après modification
    Bonjour à tous,

    Je suis maintenant entrain de réaliser une application PHP, tout va bien dans mon developpement sauf qu'après une modification dans mon formulaire (mise à jour d'un fichier par l'intermédiaire d'un TEXTAREA) les données s'enregistrent bien dans le fichier mais dans mon interface ces données (déjà présentes dans le fichier) n'apparaissent qu'après actualisation de la page.

    Qui peut me conseiller ce que dois je faire pour que les données modifiées appraissent automatiquement dans ma page sans avoir à actualiser celle-ci ?

    Avant de poster cette discussion, j'ai fait mes recherches sur le forum PHP et j'ai trouvé ceci:

    http://www.developpez.net/forums/sho...+actualisation

    Et j'ai exactement le même problème que lui sauf que je n'utilise pas de BDD, mais que du PHP(et HTML).

    Merci à vous.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    Moi j'utilise cette ligne après une insertion qui à réussie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Location: page.php');

  3. #3
    Membre éclairé
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Points : 823
    Points
    823
    Par défaut
    Salut, j'avais le même problème... J'ais un formulaire dans une zone DIV et quand j'ajoute un item dans une liste de ce formulaire, je voulais que le menu (hors DIV) soit aussi actualisé. J'étais alors obligé de faire F5 pour voir les changements...

    Donc, je reload ma page une fois le traitement effectué... C pas joli joli mais ca marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
     
    //traitement
     
    		echo "
    		<script language=\"JavaScript\">
    		 document.location = \"maPage.php\"
    		</script>
    		";	
     
    ?>
    ++
    JC
    VELOMASTER, idée cadeau ? un jeu de plateau

    Hummmmm, des donuts !!!!

    Merci de penser à , et et aussi

  4. #4
    Invité
    Invité(e)
    Par défaut
    Et comment dois-je faire ?

    Pour la modification j'utilise trois fichiers

    lecture.php: qui contient un formulaire avec le TEXTAREA qui contient à son tour le code source de la page hello.htm

    modif.php: qui modifie le fichier hello.htm

    et

    hello.htm: le fichier qui ne s'actualise pas tout seul (obligé d'appuyer sur F5)


    voici modif.php
    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
    61
     
    <?
     
        echo "<html>
    		  <head>
    		  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">
    		  <title>modification du fichier hello.htm</title>
    		  </head>	
    		  <body>	
    		  <p align=\"center\"><font size=\"6\">MODIFIE ?<br><br></font>";
     
              if(!empty($_POST))
              {
     
                  $filename = "hello.htm";
                  $somecontent = $_POST['codesource'];
     
                  if (is_writable($filename))
                  {
     
                      if (!$resultat_fopen = fopen($filename, 'w'))
                      {
                         echo "Impossible d'ouvrir le fichier ", $filename;
                         exit;
                      }
     
    				  //$somecontent = stripslashes($somecontent);
     
    				  $slashgui = '\"';
    				  $gui = '"';
     
    				  $somecontent = str_replace($slashgui,$gui,$somecontent);
     
    				  if($somecontent == "")
    				  { 
    				     $pv = file_get_contents("page_vierge.htm");
     
    				     if(!fputs($resultat_fopen, $pv))
    				     {
                            echo "Impossible d'écrire dans le fichier ", $filename;
                            exit;
                         }
     
    				  }
     
                      elseif (!fputs($resultat_fopen, $somecontent))
                      {
                         echo "Impossible d'écrire dans le fichier ", $filename;
                         exit;
                      }
     
                      echo "L'écriture dans le fichier ", $filename ," a réussi";
                      fclose($resultat_fopen);
                      echo "<br><a href=\"hello.htm\">click ici</a>";
     
                  } 
     
              }
     
        echo "</p></body></html>";
    ?>

    Ou est ce que je dois placer header('Location: page.php'); ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    à la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<br><a href=\"hello.htm\">click ici</a>";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Location: hello.htm');
    Cela fera que si l'enregistrement est bon il n'y aura pas besoin de cliquer sur le lien, cela se fera automatiquement.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Ca ne veut pas marcher ! J'ai essayé ce qu tu m'a dit easyjava mais ça ne marche toujours pas !

    j'ai remplacé ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "<br><a href=\"hello.htm\">click ici</a>";
    par ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    header('Location: hello.htm');
    et toujours la même chose!

    d'ailleurs si j'enlève le lien je suis obligé de taper l'URL dans la barre d'adresse pour aller voir si hello.htm a bien été actualisé, c'est ce que j'ai fait et il m'a donné l'ancienne page donc j'étais obligé d'actualiser moi même ! Sais-tu d'ou vient le problème ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    Alors essaye ca a la place :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo '<meta http-equiv="Refresh" content="0;URL=hello.htm">';
    Si le problème persiste ca doit venir du cache de ton navigateur qui garde la page en mémoire.

  8. #8
    Membre éclairé
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Points : 823
    Points
    823
    Par défaut
    donc, si j'ai bien compris...

    Tu as 3 fichiers, lecture qui contient hello et modif qui modifie le contenu de hello...

    Si c'est bien ca, tu dois mettre apres tes changements dans modif les lignes suivantes...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo "<script language=\"JavaScript\">
    document.location = \"lecture.php\"
    </script>";
    Car c'est lecture.php qu'il faut recharger et non hello...

    ++
    JC
    VELOMASTER, idée cadeau ? un jeu de plateau

    Hummmmm, des donuts !!!!

    Merci de penser à , et et aussi

  9. #9
    Invité
    Invité(e)
    Par défaut
    Ca a enfin marché il m'a donné la page actualisé MAIS il(le navigateur) me l'a envoyé en pleine figure. Ce que j'aimerais c'est qu'il l'actualise mais sans que le navigateur m'ouvre la page hello.htm, j'aimerais que ça soit moi qui AILLE (du verbe aller) dans la page hello.htm

    1) en tapant l'URL dans la barre d'adresse ou

    2) bien en inserant ,dans modif.php, un lien qui me permette de m'y rendre

    3) ou bien que modif me redirige dans la page d'accueil (et qu'il actulise hello.htm en même temps)

    la troisieme solution me parait être la meilleur

    Et jc_cornic ta solution je vais l'essayer si elle marche

  10. #10
    Invité
    Invité(e)
    Par défaut
    Au fait, jc_cornic à quel niveau, dans modif.php, je dois insérer ce code que tu m'a donné

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo "<script language=\"JavaScript\">
    document.location = \"lecture.php\"
    </script>";
    juste en dessous des balises <title><title/>et au-dessus de la balise </head> ?

  11. #11
    Membre éclairé
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Points : 823
    Points
    823
    Par défaut
    Je pense qu'il faut le mettre entre <body> et </body>...

    ++
    JC
    VELOMASTER, idée cadeau ? un jeu de plateau

    Hummmmm, des donuts !!!!

    Merci de penser à , et et aussi

  12. #12
    Invité
    Invité(e)
    Par défaut
    Après avoir effectué les changements, c'est à dire apres la fonction fclose() ?

  13. #13
    Membre éclairé
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Points : 823
    Points
    823
    Par défaut
    Oui après avoir effectué tes changements, sinon, ils n'auront jamais lieu...
    VELOMASTER, idée cadeau ? un jeu de plateau

    Hummmmm, des donuts !!!!

    Merci de penser à , et et aussi

  14. #14
    Invité
    Invité(e)
    Par défaut
    Je viens d'essayer ta solution jc_cornic et voilà ce qui se passe:

    le fichier lecture.php est face à moi avec le TEXTAREA qui contient le code source de hello.htm, je modifie par exemple la couleur d'arrière plan, je clik sur valider et il me dirige vers modif.php puis tout de suite après en l'espace d'un dixième de secondes il revient en arriere à la page lecture.php. Et puis je tape l'URL de hello.htm pour voir le résultat et ce que je vois.......le fichier hello.htm ne s'est pas actualisé tout seul!

    Ce que j'aimerais c'est la troisième solution que j'ai proposé tout à l'heure

    3) que modif me redirige(en cliquant sur valider) dans la page d'accueil (et qu'il actulise hello.htm en même temps)

    Comme dans les sites professionnels, vous savez là où on s'inscrit pour avoir un blog ou un sous-domaine gratuit.

    La solution de easyjava marche trés bien (elle actualise hello.htm) mais elle me redirige de force dans la page hello.htm.

    Avez-vous une solution ?

  15. #15
    Invité
    Invité(e)
    Par défaut
    Le problème ne viendrait pas du cache du navigateur, comme l'a dit easyjava, même si je ne sais pas ce qu'est le cache ?

    Ca ne serait pas en rapport avec ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date du passé
    ?>
    ou bien les fonctions comme ob_start() et ob_end_flush() ?

Discussions similaires

  1. [WM18] Actualiser un champ combo après modification du fichier de données
    Par elvan49 dans le forum Windev Mobile
    Réponses: 3
    Dernier message: 17/11/2016, 17h20
  2. Réponses: 1
    Dernier message: 18/02/2015, 16h17
  3. Mise à jour page après modification
    Par Général03 dans le forum Django
    Réponses: 9
    Dernier message: 11/03/2013, 21h10
  4. Actualiser une page après un "header location"
    Par salva57 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 15
    Dernier message: 10/01/2006, 22h09
  5. actualiser page après validation formulai dans autre fenêtre
    Par allowen dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 05/01/2006, 16h02

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