Bonjour!
Alors voila. J'ai commencé à creer un site de vente (en local). Sur ma page admin, l'admin doit pouvoir modifier les prix des produits dans les fichiers texte. Pour ça je crée récupere les infos des lignes actuelles, je supprime le contenu du fichier et je mets ensuite le contenu modifié.
Voici le bout de code php:
Et voici le bout de 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 $f_prixjeunesse = fopen("produits/jeunesse.txt","r+"); $nb_prixjeunesse = 0; $fin_prixjeunesse = false; do { $jeunesse[$nb_prixjeunesse] = explode('|',fgets($f_prixjeunesse,255)); if(isset($jeunesse[$nb_prixjeunesse][1])) $nb_prixjeunesse++; else $fin_prixjeunesse = true; }while(!$fin_prixjeunesse); if(isset($_POST['submit2'])) { for($j=0;$j<$nb_prixjeunesse;$j++) { $_POST['nouveauprixjeunesse'][$j]; if($_POST['nouveauprixjeunesse'][$j]!="") //SI un prix a été donné dans le form. (Ne marche pas avec le isset. Je ne sais pas pourquoi.) { $jeunesse[$j][4]=$_POST['nouveauprixjeunesse'][$j]; //Je remplace le prix du produit par le prix donnné dans le formulaire. } } ftruncate($f_prixjeunesse,0); //J'efface le contenu du fichier. for($k=0;$k<$nb_prixjeunesse;$k++) //Et là je réécris dans le fichier. { fwrite($f_prixjeunesse, $jeunesse[$k][0] ."|" .$jeunesse[$k][1] ."|" .$jeunesse[$k][2] ."|" .$jeunesse[$k][3] ."|" .$jeunesse[$k][4]); } } fclose($f_prixjeunesse);
Quant au fichier texte, il est structuré de cette maniere:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 for($i=0;$i<$nb_prixjeunesse;$i++) { echo "<tr><td>" .$jeunesse[$i][1] ."</td>"; echo "<td>Prix actuel: " .$jeunesse[$i][4] ."</td>"; echo "<td>Nouveau prix: <input type=\"text\" name=\"nouveauprixjeunesse[$i]\" /></td></tr>"; }
index|titre|auteur|lien_image|prix
Exemple:
0|Harry Potter à l'Ecole des Sorciers|J.K. Rowling|harry_potter_1.jpg|7.00
1|Eragon|Christopher Paolini|eragon.jpg|12.40
2|Les Chevaliers d'Emeraude - T1: Le Feu dans le Ciel|Anne Robillard|les_chevaliers_emeraude_1.jpg|15.60
3|A.N.G.E. - T1: Antichristus|Anne Robillard|ange_1.jpg|16.95
4|Gone - T1|Michael Grant|gone_1.jpg|19.20
5|Les Chevaliers d'Emeraude -T2: Les dragons de l'empereur noir|Anne Robillard|chevaliers_tome_2.jpg|15.60
Voila, rien ne marche, il y a des sauts de ligne etranges, et la premiere ligne est composée de rectangles noirs avec NUL dedans. Le site ne lisplus le fichier correctement et ne m'affiche plus aucun produit.
Resultat si l'on change les prix de A.N.G.E et Harry Potter à 999euros:
1Ere ligne pleine de rectangles noirs avec ecrit NUL.
2|Les Chevaliers d'Emeraude - T1: Le Feu dans le Ciel|Anne Robillard|les_chevaliers_emeraude_1.jpg|15.60
3|A.N.G.E. - T1: Antichristus|Anne Robillard|ange_1.jpg|9994|Gone - T1|Michael Grant|gone_1.jpg|19.20
5|Les Chevaliers d'Emeraude -T2: Les dragons de l'empereur noir|Anne Robillard|chevaliers_tome_2.jpg|15.60
Merci de prendre en compte que je ne suis qu'un débutant ^^
PS:Meme si je ne modifieaucun prix et que je valide le formuaire, la premiere ligne est quand meme des rectangles noirs. Le reste est cependant inchangé






Répondre avec citation
Partager