je viens de me mettre au php et j'ai un souci avec un fichier texte qui ne veut pas s'afficher .
j'ai une page html/css où lorsque on click sur "livre d'or" on tombe sur "guestbook.php" dont l'affichage est divisé en 2 div conteneurs : - le premier sert aux utilisateurs de remplir le formulaire du livre d'or et le deuxième sert toute suite à faire afficher dans la même page le message saisi. Les données saisies par l'utilisateur(nom, email, message) sont enregistrés et lu dans un fichier texte externe se trouvant dans le même dossier
Mon problème, c'est qu'il refuse d'écrire/lire dans guestbook.txt et donc ça n'affiche pas le texte sur la page php.
Je vous mets le code php :
<?php
// verif des données saisies dans form:
if(isset($_POST['envoi']) == true) {
if (isset($_POST['txtName']) == true) {
$name = trim($_POST['txtName']);
} else {
$name = '';
}
if (isset($_POST['txtEmail']) == true) {
$email = trim($_POST['txtEmail']);
} else {
$email = '';
}
if (isset($_POST['txtpost']) == true) {
$nouvelles = trim($_POST['txtpost']);
} else {
$nouvelles = '';
}
if ($name != '' && $email != '') {
$fichier = fopen('guestbook.txt', 'a');
fwrite($fichier, $name . ';' . $email . ';' . date('d.m.Y H.i.s'));
fwrite($fichier, "\n");
fwrite($fichier, $nouvelles . '#');
fwrite($fichier, "\n");
fclose($fichier);
}
}
$fichier = file("guestbook.txt");
?>
<div id="affichage">
<?php
foreach($fichier as $colo) {
$piece = split(';', $colo);
if (count($piece) > 1) {
echo '<div>' . "\n";
echo 'Name: ' . $piece[0] . '<br />';
echo $piece[1] . '<br />';
echo 'écrit à ' . $piece[2] . ':<br />';
echo '<br />';
echo '</div>';
} else {
echo '<div>' . "\n";
echo $colo . '<br /><br />';
echo '</div>';
}
}
?>
</div>
<div id="formulaire">
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table>
<tr>
<td>Nom:</td>
<td><input type="text" name="txtName" /></td>
</tr>
<tr>
<td>E-Mail:</td>
<td><input type="text" name="txtEmail" /></td>
</tr>
<tr>
<td>Message:</td>
<td> </td>
</tr>
<tr>
<td colspan="2">
<textarea id="nouvelles" name="txtpost"></textarea>
</td>
</tr>
<tr>
<td> </td>
<td>
<input type="submit" name="subSenden" />
</td>
</tr>
</table>
</form>
</div>
merci