Voilà j'ai un petit problème. Avant toute chose je tiens à dire que je suis débutant en php, que j'utilise une méthode obsolète (à ce que j'ai pu remarquer) et que je dois/suis "obligé" d'utiliser plus ou moins cette méthode.
Donc, je fais un site avec publication, supp et modif de fiche via des documents .txt. J'utilise la méthode explode pour différencier les phrases (titre, auteur, texte par exemple) au sein d'un même document .txt. Seulement quand je veux modifier le contenu d'un texte, je le fais ressortir (le contenu) dans un formulaire afin de le réenvoyer après modification suivant ce code :
Code :
- <select name="num" size="1">
- <option>1</option>
- <option>2</option>
- </select>
- <input type="submit" value="Modification">
- <body>
- <?php
- $num=$_GET[num];
- if ($num!="" )
- {
- $fichier="../text".$num.".txt";
- $pointeur=fopen($fichier,"r+" );
- $text=fread($pointeur,filesize($fichier));
- $tab=explode("|",$text);
- $titre=$tab[0];
- $texte=$tab[1];
- $auteur=$tab[2];
- }
- ?>
- <form>
- Num.doc <input type="text" name="numero" READONLY="" value="<?php print($num) ?>" size=1 >
- Titre : <input name="titre" type="text" value="<?php print($titre) ?>" size="25" maxlength="100">
- <br><br>
- Tapez ici votre texte : <textarea name="texte" cols="100" rows="20"><?php print($texte) ?></textarea>
- <br><br>
- Auteur : <input name="auteur" type="text" value="<?php print($auteur) ?>" size="50" maxlength="50">
- <input type="submit" value="Enregistrer" stripslashes()>
- </form>
- <?php
- $titre=$_GET[titre];
- $texte=$_GET[texte];
- $auteur=$_GET[auteur];
- $num=$_GET[numero];
- print($num);
- $fichier="../text".$num.".txt";
- if ($num!="" ){
- $nouvelle="$titre|$texte|$auteur";
- print($fichier);
- $pointeur=fopen($fichier,"r+" );
- rewind($pointeur);
- fputs($pointeur,"$nouvelle" );
- fclose($pointeur);
- }
- ?>
|
Donc le texte ressort bien dans le formulaire mais quand j'enregistre mes mofications elles s'ajoutent au contenu alors qu'elles devraient l'écraser, en gros dans mon document (ici text1.txt ou text2.txt), après modif, au lieu de :
blabla|bloblo|blublu suivant le schéma $titre|$texte|$auteur
j'ai : huhu|hoho|hoho|blabla|bloblo|blublu voire ||||huhu|hoho|hoho|blabla quand il est en forme.
Merci d'avance. J'espère que je me suis fait comprendre .
Message édité par tatsujin le 28-01-2005 à 23:56:45