PHP sans sql prob avec fichier .txt

Résolu/Fermé
midnnight Messages postés 484 Date d'inscription jeudi 23 février 2006 Statut Membre Dernière intervention 26 juillet 2017 - 14 mars 2010 à 02:00
midnnight Messages postés 484 Date d'inscription jeudi 23 février 2006 Statut Membre Dernière intervention 26 juillet 2017 - 14 mars 2010 à 14:20
Bonjour,
comme php n'est pas forcemment lié avec sql (my) j'ai une petite question qui s'oriente sur l'écriture dans les fichiers...
Je m'explique, j'ai donc un pb avec un échange d'info entre mon fichier et mon fichier.
J'écris sans problème avec <?php echo $_SERVER["PHP_SELF"]; ?> des infos dans un fichier .txt.
Le pb c'est que je voudrais éviter qu'a chaque actualisation du navigateur, les mots entrés dans le formulaire soient répétés à chaque fois.
Un exemple simple :
------------
<html>
<head>
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />
<meta http-equiv="Expires" content="0" />
</head>
<body>

<br />------------------<br />
<?php
$commentaire = $_POST['commentaire'];
if ($commentaire!="")
{
$ouvre=fopen("texte.txt","a+");
fwrite($ouvre,$commentaire);
fclose($ouvre);
}
{
echo "<b>TEST!!!</b>".$_POST['commentaire']."";

}
if(empty($_POST ['commentaire'])){ echo '<font color="#CC0000">Votre texte n\'est pas validé</font>';} else { echo '<div style="background-color:lightblue;width:100%;font-size:20px;border:1px">MERCI DE VOTRE COMMENTAIRE</div>';
;

}
?>
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
<textarea name="commentaire"></textarea>
<input type="submit" value="Ecrire" autocomplete="off" />
</form>
<?php include("texte.txt"); ?>
-----------
J'ai essayé les fopen en "w" "r" "a" "fast" ou "0", aussi header et fonction "function destroy_foo()" et +++ =>Rien à faire, je n'arrive pas à vider le formulaire=> et si l'on post, on peut répéter son dernier message à l'infini avec le bouton "actualiser" du navigateur, ce qui n'est pas souhaitable bien sûr.
Fin de ma question : Auriez vous une solution pour vider le formulaire du dernier post entré, afin que l'actualisation du navigateur ne répète pas le post en cours. J'ai cherché...Beaucoup, si je demande c'est que je ne trouve pas la fonction.
Merci par avance.
A voir également:

2 réponses

avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
14 mars 2010 à 11:35
Fait une redirection en PHP :
<?php
header('formulaire.php');
?>

Pour utiliser la fonction header(), aucun caractère ne doit être envoyé au navigateur avant (par echo/(s)print(f) ou en-dehors de l'instruction <?php ... ?>).
1
midnnight Messages postés 484 Date d'inscription jeudi 23 février 2006 Statut Membre Dernière intervention 26 juillet 2017 38
14 mars 2010 à 14:20
Merci @avion-f16 de m'avoir mis sur la bonne voie, en fait avec :
<?php header("Location: nom-du-formulaire.php?"); ?> C'est ok !!
(un peu plus long au chargement en local, mais bon, et effectivement placé en première ligne avec le php à la suite, => je n'ai plus de doublons au rechargement du nav...)
Donc thank you, prob résolu, A+
0