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 :

Recharger la page après modification d'un fichier


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 233
    Points : 72
    Points
    72
    Par défaut Recharger la page après modification d'un fichier
    Bonjour à tous,
    Dans une page, j'affiche dans des champs des infos enregistrées simplement dans un fichier txt.
    L'utilisateur peut modifier ces valeurs et enregistrer ces modifications.
    Cependant, je suis obligé de recharger manuellement la page si je veux que les infos soient prises en compte.

    Voici mon code simplifié :
    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
    <html>
    <body>
    <?php	
    	$FichierLiquide = file("liquide.txt");
    	$Liquide			=$FichierLiquide[0];
    	$PrctPertesAccept 	=$FichierLiquide[1];
    ?>
     
    <form method="post" action="" >
    <p align="center">
    Avaiable : <input type="text" id="Dispo" name="Dispo" value="<?php echo $Liquide;?>"  size="5" "/>
    <br>
    Max loss (%) : <input type="text" id="PertesTotal" name="PertesTotal" value="<?php echo $PrctPertesAccept;?>"  size="2"/>
    <input type="submit" name="ModifLiquide" id="ModifLiquide" value="Modify">
     
    <?php
          if(isset($_POST["ModifLiquide"])){
    										$Liquide=$_POST['Dispo'];
    										$PertesTotal=$_POST['PertesTotal'];
    										file_put_contents('liquide.txt',$Liquide."\n".$PertesTotal);
    										}
    	?>
    </p>
    </form>
    </body>
    </html>
    Sur les conseils de Eric2a j'ai essayé d'ajouter le code suivant avant </body>, mais sans succès
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <script>
    	document.getElementById('ModifLiquide').onclick=function(){document.location.reload(true);};
    </script>
    Quelqu'un aurait une idée pour que les modifications soient bien prises en compte sans recharger manuellement la page ?

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Je te conseille de traiter d'abord une éventuelle soumission du formulaire :
    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
    <?php
     
    // si le formulaire est envoyé, on le traite
     
    if (isset($_POST["ModifLiquide"])) {
        $Liquide = $_POST['Dispo'];
        $PertesTotal = $_POST['PertesTotal'];
        file_put_contents('liquide.txt', $Liquide . "\n" . $PertesTotal);
    }
     
    // on charge le fichier pour l'affichage
     
    $FichierLiquide = file("liquide.txt");
    $Liquide = $FichierLiquide[0];
    $PrctPertesAccept = $FichierLiquide[1];
    ?>
    <html>
    <body> 
    <form method="post" action="" >
    <p align="center">
    Avaiable : <input type="text" id="Dispo" name="Dispo" value="<?php
    echo $Liquide; ?>"  size="5" "/>
    <br />
    Max loss (%) : <input type="text" id="PertesTotal" name="PertesTotal" value="<?php
    echo $PrctPertesAccept; ?>"  size="2"/>
    <input type="submit" name="ModifLiquide" id="ModifLiquide" value="Modify">
    </p>
    </form>
    </body>
    </html>
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 233
    Points : 72
    Points
    72
    Par défaut
    Bonjour Celira et merci de t'intéresser à mon problème.
    Merci, ça fonctionne effectivement très bien.
    Je mets tous ça tout en haut de mon code ? avant <html> ?
    je pensais qu'il fallait mieux placer ces codes là où on en avait besoin sinon dans le head ? mais comme dis, je n'y connais pas grand chose ...

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    En gros, lorsque tu écris du code PHP et du code HTML dans la même page, le plus simple est de séparer le code PHP en fonction de si il génère ou non de l'HTML.
    Si ton code va générer du code HTML, par exemple : une requête en base pour alimenter, le plus simple est de le placer là où va être le tableau (sinon tu vas devoir te trimbaler un tableau de données à travers la moitié du script)
    Si ton code n'impacte pas directement le HTML, par exemple : l'enregistrement du résultat d'un formulaire en base, il est plus simple de le traiter avant la partie HTML.

    Pour prendre une métaphore, supposons que tu commandes un plat dans un restaurant.
    Si tu commandes un tartare, le serveur va t’amener le steak et les condiments pour que tu puisses assaisonner ton plat toi-même.
    Par contre, pour une assiette de frites, tout est fait en cuisine et tu ne vois que le produit final. Fondamentalement, rien n'empêche le cuisinier de venir avec une friteuse faire cuire tes frites à côté de toi, mais ça n'a pas un grand intérêt.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 233
    Points : 72
    Points
    72
    Par défaut
    OK, merci beaucoup pour ces informations.
    Merci également pour cette métaphore très imagée et qui a le mérite d'être très compréhensible

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

Discussions similaires

  1. Recharger la page après fonction php
    Par leroidje dans le forum Langage
    Réponses: 3
    Dernier message: 08/10/2009, 16h31
  2. [javascript/html] Recharger une page après choix dans liste
    Par pitchoblack dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/04/2008, 16h58
  3. [javascript/php]Recharger une page après choix dans liste déroulante
    Par eyango dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/01/2008, 13h34
  4. Rechargement de page après envoi de fichier
    Par marieR dans le forum Struts 1
    Réponses: 11
    Dernier message: 30/01/2007, 14h40
  5. Actualisation de la page après modification
    Par Invité dans le forum Langage
    Réponses: 14
    Dernier message: 02/11/2006, 21h18

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