PHP sans sql prob avec fichier .txt
Résolu
midnnight
Messages postés
484
Date d'inscription
Statut
Membre
Dernière intervention
-
midnnight Messages postés 484 Date d'inscription Statut Membre Dernière intervention -
midnnight Messages postés 484 Date d'inscription Statut Membre Dernière intervention -
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.
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:
- PHP sans sql prob avec fichier .txt
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
2 réponses
Fait une redirection en 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 ... ?>).
<?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 ... ?>).
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+
<?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+