Page 1 sur 1

probleme avec fopen, fputs et fclose...

Posté : 23 juin 2005, 16:43
par Manu
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

Posté : 24 juin 2005, 10:11
par robined
si tu fais une ouverture en r+ de ton fichier, tu ne peut pas ecrire dedans. Utilise w+

Posté : 24 juin 2005, 10:41
par Manu
Avec "w+", le fichier texte qui contient le texte de la page d'accueil est vidé... Il doit y avoir une autre erreur !...

Posté : 24 juin 2005, 10:45
par ouckileou
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

Posté : 24 juin 2005, 10:48
par robined
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.

Posté : 24 juin 2005, 11:42
par Manu
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.

Posté : 24 juin 2005, 11:56
par Invité
oui biensur, ce n'est pas ton form que tu dois appeler admin_acc mais ton textarea

Posté : 24 juin 2005, 11:58
par robined
sorry j'ai été déconnecté, c'est moi qui ai ecrit le dernier post

Posté : 24 juin 2005, 12:02
par Manu
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 !

Posté : 24 juin 2005, 12:03
par robined
on aurait pu le voir plutot aussi. La faute a nous tous