probleme avec fopen, fputs et fclose...

Manu
Invité n'ayant pas de compte PHPfrance

23 juin 2005, 16:43

Bonjour tout le monde !

Je travail actuellement sur la mise au point d'une nouvelle version pour mon site web. Sur cette nouvelle version, je souhaite pouvoir changer le texte de la page d'accueil directement sur le site (et donc sans passer par le ftp). J'ai donc crée différents fichiers dont admin_acc.php :

Code : Tout sélectionner

<div id="page"> <table width="100%"> <tr> <th bgcolor="white"><big>Espace modérateurs - Accueil</big></th> </tr> </table> <br /> <form name="admin_acc" method="post" action="change_acc.php"> <textarea cols="60" rows="25"> <?php readfile("accpg.txt"); ?> </textarea> <br /><br /> <input type="submit" value="Changer la page d'accueil" /> </form> </div>
et change_acc.php

Code : Tout sélectionner

<?php $admin_acc = isset($_POST['admin_acc']) ? $_POST['admin_acc'] : ""; $fichier="accpg.txt"; $pointeur=fopen($fichier,"r+"); fputs($pointeur,"$admin_acc"); fclose($pointeur); echo '<html><head><meta http-equiv="refresh" content="3; url=accueil.php"></head></html>'; ?>
mais le texte d'accueil ne change pas. Comme je n'arrive pas à trouver d'où vient l'erreur, j'espère que vous allez pouvoir m'aider !...

Merci d'avance.

Manu

Eléphant du PHP | 92 Messages

24 juin 2005, 10:11

si tu fais une ouverture en r+ de ton fichier, tu ne peut pas ecrire dedans. Utilise w+

Manu
Invité n'ayant pas de compte PHPfrance

24 juin 2005, 10:41

Avec "w+", le fichier texte qui contient le texte de la page d'accueil est vidé... Il doit y avoir une autre erreur !...

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

24 juin 2005, 10:45

si tu souhaites rajouter du texte à celui déjà présent, alors c'est a+ qu'il faut utiliser

tu as la liste ici : http://fr.php.net/manual/fr/function.fopen.php

Eléphant du PHP | 92 Messages

24 juin 2005, 10:48

le seul moyen d'ecrire dans un fichier c'est en w+ ou a+ mais ce dernier te permets d'ajouter un ligne en fin de fichier. La solution pour toi serait de récupérer le texte de ta page et de la renvoyer apres avoir changer le titre.

je ne vois pas d'autres erreurs, hormis le manque de balises <body> dans ta fin de page mais je pense pas que cela influe beaucoup.

Manu
Invité n'ayant pas de compte PHPfrance

24 juin 2005, 11:42

Le problème est peut être au niveau de la variable $admin_acc. Je vais vrifier qu'elle contient bien le texte lors de l'éxécution du script.

Invité
Invité n'ayant pas de compte PHPfrance

24 juin 2005, 11:56

oui biensur, ce n'est pas ton form que tu dois appeler admin_acc mais ton textarea

Eléphant du PHP | 92 Messages

24 juin 2005, 11:58

sorry j'ai été déconnecté, c'est moi qui ai ecrit le dernier post

Manu
Invité n'ayant pas de compte PHPfrance

24 juin 2005, 12:02

Bon... heu... j'croi que j'ai été un peu nul sur ce truc... C'est pourtant pas la première fois que j'utilise un formulaire...

Merci à tous !

Eléphant du PHP | 92 Messages

24 juin 2005, 12:03

on aurait pu le voir plutot aussi. La faute a nous tous