Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1319 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  probleme txt

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme txt

n°915386
yugtarel
Posté le 06-12-2004 à 00:12:38  profilanswer
 

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'>&nbsp;<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&eacute; 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'>&nbsp;<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&eacute; le 05/12/2004</TABLE></TD></TR></TBODY></TABLE>
</DIV><DIV align=center> </DIV></NewMsg><br>

mood
Publicité
Posté le 06-12-2004 à 00:12:38  profilanswer
 

n°915395
naceroth
Posté le 06-12-2004 à 00:33:50  profilanswer
 

Parce que $texte n'est pas défini ? :D
 
("dynamiser votre site", j'espère que ce n'est pas un cours ? :D)


Message édité par naceroth le 06-12-2004 à 00:34:05
n°915408
yugtarel
Posté le 06-12-2004 à 01:03:37  profilanswer
 

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.

n°915414
naceroth
Posté le 06-12-2004 à 01:22:28  profilanswer
 

Un problème à la fois :D
 

yugtarel a écrit :

si c est un cour :(


 
Je félicite pas l'auteur alors, à moins que le bouquin soit trèèès vieux
 

Citation :


mais j ai supprimé :

Code :
  1. fclose($fichier);
  2. if(eregi("<NewMsg>", $texte)){
  3. $nbmsg += 1;
  4. }


car ça ne figurait pas dans le bouquin


Le fclose était à sa place pourtant, le reste, je voyais pas à quoi ça pouvait bien servir :D
 

Citation :


 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!


 
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...)

n°915909
yugtarel
Posté le 06-12-2004 à 16:19:22  profilanswer
 

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+

n°915924
skeye
Posté le 06-12-2004 à 16:27:50  profilanswer
 

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...:o


---------------
Can't buy what I want because it's free -
n°916287
yugtarel
Posté le 06-12-2004 à 20:51:42  profilanswer
 

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'>&nbsp;<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&eacute; 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";
?>

n°916288
yugtarel
Posté le 06-12-2004 à 20:53:19  profilanswer
 

yyyyyyyyyyyyyes  ça marche , j avais oublié lePOINT VIRGULE;;;;;;;;;;;;;;;;;;;;;;;;;


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  probleme txt

 

Sujets relatifs
problème sur un sscanf non encore rencontrée !Petit problème - tableau
Problème de récupération de type MIMEProbleme de xslfo + php
[css] Problème de positionnementProblème avec les Templates sous Visual !
[PHP] Problème de POSTProblème de création de vignette !
C++ : Problème de "commandes"[CSS] Problème d'alignement d'un menu dans un div
Plus de sujets relatifs à : probleme txt


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR