probleme txt - PHP - Programmation
Marsh Posté le 06-12-2004 à 00:33:50
Parce que $texte n'est pas défini ?
("dynamiser votre site", j'espère que ce n'est pas un cours ? )
Marsh Posté le 06-12-2004 à 01:03:37
si c est un cour
mais j ai supprimé :
fclose($fichier);
if(eregi("<NewMsg>", $texte)){
$nbmsg += 1;
}
car ça ne figurait pas dans le bouquin du coup je n ai plus eu le message d'erreur seulement rien ne saffiche dans le fichier texte ormis la date, je pense que le post ne fonctionne pas!
car j ai pris cette exemple du cours pour voir si mes fichier texte fonctionnaient(voir message d hier) car j ai un autre script fwrite dans un fichier et pareil rien ne s inscrit dans le fichier txt.
peut etre dois je configurer apache differement, j ai lu des trucs la config dans php.ini mais j ai cherché sans grande conviction sur ce qu il fallait faire.
Marsh Posté le 06-12-2004 à 01:22:28
Un problème à la fois
yugtarel a écrit : si c est un cour |
Je félicite pas l'auteur alors, à moins que le bouquin soit trèèès vieux
Citation :
|
Le fclose était à sa place pourtant, le reste, je voyais pas à quoi ça pouvait bien servir
Citation : |
Meuh si il fonctionne, c'est plutôt la syntaxe qui a changé (ce qui confirme le côté vieux bouquin envisagé plus haut). On utilise les tableaux $_POST ou $_GET maintenant pour récupérer les données d'un formulaire, tu dois utiliser $_POST['nom'] au lieu de $nom par exemple
(un ereg_replace pour virer les / d'une chaine, dites moi que je rêve...)
Marsh Posté le 06-12-2004 à 16:19:22
d'abord merci pour ta réponse
je n ai pas supprimé fclose mais bien ce qui est après.
le bouquin n est pas si vieux, il est encore en vent à la FNAC:http://www.microapp.com/fiche_produit.cfm?ref_produit=4283
mais bon quant on commence on ne peut juger qu à priori.
pour $_POST je vais appliquer tes consiels
A+
Marsh Posté le 06-12-2004 à 16:27:50
Le fait qu'il soit en vente à la FNAC ne garanti pas qu'l soit très frais, ton bouquin.
Il doit être basé sur php 3.x, alors que la version actuelle est la 5.x...
Marsh Posté le 06-12-2004 à 20:51:42
php4(tu trouves plus de bouquin en php3 dans à la fnac(paris en tout cas)
sinon j ai essaye ça mais ça marche pô
<?
/* Programme ajout_message.php */
/* Sauvegarde des données précédentes */
$fichier = fopen("livre.txt","r" );
$messagesprecedents = fread($fichier, filesize("livre.txt" ));
fclose($fichier);
/* Récupération de la date du jour */
$date = date("d/n/Y" );
/* Ouverture et écriture des données dans le fichie livre.txt */
$nom=$_POST['nom']
$message=$_POST['message']
$mail=$_POST['mail']
$fichier = fopen("livre.txt","w" );
fwrite($fichier, "<br><NewMsg><DIV align=center>
<TABLE bgColor=#CCCCCC border=1 borderColorDark=#000080 borderColorLight=#000080
cellSpacing=0 width=650 bordercolor=#9999FF>
<TBODY>
<TR>
<TD width='100%'>
<TABLE border=0 width='100%'>
<tr>
<td colspan='2'> <TR>
<TD width='16%'><FONT color=#cc3300 face=Arial
size=2><B><font color='#FF9900'>nom</font> </B></FONT></TD>
<TD width='84%'><font color=#cc3300 face=Arial
size=2><b><a href='mailto:$mail>nom</a></b></font></TD>
</TR>" );
fwrite($fichier, "<tr><td colspan='2'><font color=#cc3300 face=Arial size=2></font>" );
fwrite($fichier, "<TR>
<TD colSpan=4><font face='Arial' size='2' color=#FFFFFF>$message</font></TD>
</TR>
<tr>
<td colspan='2'> Posté le $date</TABLE></TD></TR></TBODY></TABLE>
</DIV><DIV align=center> </DIV>" );
fwrite($fichier, "</NewMsg><br>" );
fwrite($fichier, "\n" );
/* Ecriture des données sauvegardées */
fwrite($fichier, $messagesprecedents);
fclose($fichier);
/* Redirection du navigateur vers la page du livre d'or */
header("Location: livre.php" );
?>
<?
if ($date)
echo "nom ok";
?>
Marsh Posté le 06-12-2004 à 20:53:19
yyyyyyyyyyyyyes ça marche , j avais oublié lePOINT VIRGULE;;;;;;;;;;;;;;;;;;;;;;;;;
Marsh Posté le 06-12-2004 à 00:12:38
pourquoi rien ne s insrit dans le fichier txt ormis le script du tableau en html?
Notice: Undefined variable: texte in c:\program files\easyphp1-7\www\php dynamiser votre site\chap03\livre.php on line 29
voici les trois fichiers:
ajout_message.php
<?
/* Programme ajout_message.php */
/* Sauvegarde des données précédentes */
$fichier = fopen("livre.txt","r" );
$messagesprecedents = fread($fichier, filesize("livre.txt" ));
fclose($fichier);
/* Récupération de la date du jour */
$date = date("d/n/Y" );
/*
* Avant d'enregistrer les données, un traitement est nécessaire pour enlever * le symbole ' \ ' qui est ajouté par PHP devant tout caractère pouvant être * en conflit avec le programme. Cette fonction sera étudiée au chapitre * suivant, ne vous en souciez pas pour le moment.
*/
$nom = ereg_replace("[\]", " ", $nom);
$message=ereg_replace("[\]", " ", $message);
$mail=ereg_replace("[\]", " ", $mail);
/* Ouverture et écriture des données dans le fichie livre.txt */
$fichier = fopen("livre.txt","w" );
fwrite($fichier, "<br><NewMsg><DIV align=center>
<TABLE bgColor=#CCCCCC border=1 borderColorDark=#000080 borderColorLight=#000080
cellSpacing=0 width=650 bordercolor=#9999FF>
<TBODY>
<TR>
<TD width='100%'>
<TABLE border=0 width='100%'>
<tr>
<td colspan='2'> <TR>
<TD width='16%'><FONT color=#cc3300 face=Arial
size=2><B><font color='#FF9900'>$nom</font> </B></FONT></TD>
<TD width='84%'><font color=#cc3300 face=Arial
size=2><b><a href='mailto:$mail'>$nom</a></b></font></TD>
</TR>" );
fwrite($fichier, "<tr><td colspan='2'><font color=#cc3300 face=Arial size=2></font>" );
fwrite($fichier, "<TR>
<TD colSpan=4><font face='Arial' size='2' color=#FFFFFF>$message</font></TD>
</TR>
<tr>
<td colspan='2'> Posté le $date</TABLE></TD></TR></TBODY></TABLE>
</DIV><DIV align=center> </DIV>" );
fwrite($fichier, "</NewMsg><br>" );
fwrite($fichier, "\n" );
/* Ecriture des données sauvegardées */
fwrite($fichier, $messagesprecedents);
fclose($fichier);
/* Redirection du navigateur vers la page du livre d'or */
header("Location: livre.php" );
?>
-------------------------------------------------
livre.htm
<head>
<title>livre.htm</title>
</head>
<body>
<center>Le Livre D'or </center>
<br><br>
<center>
<p><a href="livre.php">Afficher les messages</a></p><br>
<form method="post" action="ajout_livre.php">
<table border="0" width="455" bgcolor="#000000" cellspacing="0">
<tr>
<td width="454">
<table border="0" width="454" bgcolor="#C0C0C0" cellspacing="1" cellpadding="2" height="198">
<tr>
<td width="500" height="35" colspan="2" valign="top">
<p align="center"><font face="Arial" size="2" color="#990000"><b>Laissez
un message sur mon livre d'or!!!</b></font></p>
</td>
</tr>
</center>
<tr>
<td width="185" height="19">
<p align="left"><font face="Arial" size="2" color="#000080"> Votre nom ou pseudo :</font></td>
<center>
<td width="300" height="19"><input type="text" name="nom" size="20"></td>
</tr>
<tr>
<td width="185" height="21" align="left"><font face="Arial" size="2" color="#000080">Votre Email :</font></td>
<td width="300" height="21"><input type="text" name="mail"size="20"></td>
</tr>
<tr>
<td width="185" height="113" align="left"><font face="Arial" size="2" color="#000080">Votre message :</font></td>
<td width="300" height="113"><textarea rows="6" name="message" cols="33"></textarea></td>
</tr>
</table>
</td>
</tr>
</table>
</center>
<p align="center"><input type="submit" value="Envoyer" name="redirect"></p>
</form>
</body>
</html>
------------------------------------
livre.php
<html>
<head>
<title>Le Livre d'Or</title>
</head>
<body>
<?
/* Programme livre.php */
/* Récupération du nombre de message */
$nbmsg=0;
$fichier=fopen("livre.txt", "r" );
while($ligne=fgets($fichier, 150)){
if(eregi("<NewMsg>", $ligne)){
$nbmsg += 1;
}
}
fclose($fichier);
if(eregi("<NewMsg>", $texte)){
$nbmsg += 1;
}
?>
<center>Le Livre D'or</center>
<br><br>
<center>
<?
/* Personnalisation du message en fonction du nombre de message */
if ($nbmsg == 0){
echo "<br><center>Il n'y a pas de messages dans mon livre d'or... <br><br></center><a href=\"index.htm\">accueil</a></body></html>";
exit;
}
?>
<div align="center">
<center>
<table border="1" width="650" cellspacing="0" bordercolorlight="#000000" bordercolordark="#000000">
<tr>
<td width="34%" bgcolor="#0033CC">
<p align="left"><font face="Arial" size="2" color="#C0C0C0"><b>Nombre de
messages:</b> </font><b><font face="Arial" size="2" color="#FFFFFF">
<?
/* Affichage du nombre de message */
echo "$nbmsg";
?>
</font><font face="Arial" size="2" color="#C0C0C0">
</font></b></td>
</tr>
</table>
</div>
<?
/* Insertion du programme messages.php */
include "messages.php";
?>
<a href="index.htm">accueil</a>
</body>
</html>
------------------------------------
livre.txt
<br><NewMsg><DIV align=center>
<TABLE bgColor=#CCCCCC border=1 borderColorDark=#000080 borderColorLight=#000080
cellSpacing=0 width=650 bordercolor=#9999FF>
<TBODY>
<TR>
<TD width='100%'>
<TABLE border=0 width='100%'>
<tr>
<td colspan='2'> <TR>
<TD width='16%'><FONT color=#cc3300 face=Arial
size=2><B><font color='#FF9900'></font> </B></FONT></TD>
<TD width='84%'><font color=#cc3300 face=Arial
size=2><b><a href='mailto:'></a></b></font></TD>
</TR><tr><td colspan='2'><font color=#cc3300 face=Arial size=2></font><TR>
<TD colSpan=4><font face='Arial' size='2' color=#FFFFFF></font></TD>
</TR>
<tr>
<td colspan='2'> Posté le 05/12/2004</TABLE></TD></TR></TBODY></TABLE>
</DIV><DIV align=center> </DIV></NewMsg><br>