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 :

Modifier 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 Modifier un fichier
    Bonjour à tous,
    Voici plusieurs heures que je butte sur un morceau de script pour modifier 2 chiffres écrits dans un fichier.
    Je m'explique : ma page web contient entre-autre 2 champs dont le contenu est chargé à partir de 2 nombres écrits dans un fichier. J'aimerai pouvoir modifier ces 2 nombres en cliquant sur un bouton.
    Je n'ai aucun soucis pour afficher les nombres dans les champs, mais je n'arrive pas à trouver ce qui me bloque pour modifier le contenu du fichier.
    Voici la portion de mon code en question :
    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
    <form method="post" action="" >
    Avaiable : <input type="text" id="Dispo" name="Dispo" value="<?php echo $Liquide;?>"  size="5"/>
    &nbsp;
    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"])) {
    					 $FichierLiquide = file("liquide.txt");
     
    					 $Liquide=$_POST['Dispo'];
    					 $PrctPertesAccept=$_POST['PertesTotal'];
     
           				 $OuvrPortfeuil=fopen("$FichierLiquide","w");
    					 fwrite($OuvrPortfeuil,$Liquide);
    					 fwrite($OuvrPortfeuil,"\n");
    					 fwrite($OuvrPortfeuil,$PertesTotal);
    					 fclose($OuvrPortfeuil); // fermeture du fichier
     
    		}
    	?>
    </form>
    J'ai bien vérifié, mon fichier liquide.txt est bien en chmode 777
    Au lieu de modifier liquide.txt, j'ai un fichier Array qui est créé et qui ne contient que la valeur du champ Dispo, mais pas celle du PertesTotal.
    Je pense que c'est un petit truc tout con, mais pas moyen de trouver ce qui bloque.

    Merci d'avance pour votre aide

  2. #2
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Salut,

    La fonction fopen attend un nom de fichier pour premier paramètre, mais dans ton code il correspond au tableau renvoyé par la fonction file.

    Ensuite une faute d'étourderie... Ecriture de la variable $PertesTotal au lieu de $PrctPertesAccept qui contient $_POST['PertesTotal'];

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if(isset($_POST["ModifLiquide"])){
    	$Liquide=$_POST['Dispo'];
    	$PertesTotal=$_POST['PertesTotal'];
    	file_put_contents('liquide.txt',$Liquide."\n".$PertesTotal);
    }

  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
    Ca marche mieux effectivement ! Merci beaucoup !

    Par contre, si ce n'est pas trop abusé, après avoir cliqué sur le bouton, je dois recharger la page pour que le champs reprenne sa nouvelle valeur.
    J'ai essayé d'inclure le code suivant à la suite du tiens (pour recharger), mais ça ne fonctionne pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $page= 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
     echo "<script>window.location.replace(<?php echo $page; ?>)</script>";
    Aurais-tu une astuce STP ?

  4. #4
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Quand tu cliques sur le bouton, le formulaire n'est pas soumis ?

    Essaie ceci (à placer avant </body>) pour voir
    Code xhtml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <script>
            document.getElementById('ModifLiquide').onclick=function(){document.location.reload(true);};
    </script>
    voir la méthode Location.reload()

  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
    Désolé, ça ne semble pas fonctionné.
    Quand je clic sur le bouton, le fichier est bien modifié, mais je dois toujours recharger la page pour afficher la valeur modifiée du champs.

  6. #6
    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
    Petit UP
    Personne n'a d'idée pour que les champs prennent bien la valeur modifiée ?

  7. #7
    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
    Personne ne pourrait me donner une piste SVP ?

Discussions similaires

  1. Réponses: 7
    Dernier message: 17/02/2012, 11h57
  2. [JexcelAPI]Modifier un fichier excel
    Par sissi_l dans le forum Documents
    Réponses: 3
    Dernier message: 01/06/2007, 01h36
  3. [DOM] [Débutant(e)] Modifier un fichier XML avec DOM
    Par macks dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 05/07/2005, 14h13
  4. [jar] Comment modifier un fichier jar
    Par newfsch dans le forum JBuilder
    Réponses: 5
    Dernier message: 18/07/2004, 14h25
  5. [LG]modifier un fichier
    Par fofovi72 dans le forum Langage
    Réponses: 3
    Dernier message: 15/04/2004, 21h30

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