[php]class de livre d'or

Bonjour,
J'essaye de faire une classe php qui écrit et gere 5 fichier texte.
Seulement elle ne semble pas marcher ;-) j'ai une petite idée qui ne me semble cependant pas etre le probleme: un return dans un for qui interrompt toute la fonction ??Si quelqun voit quelque chose merci bcp.

Voici le code
<?php
class txt{
     function see(){
	     //fichier texte
	     $txt[0] = "txt1.txt";
         $txt[1] = "txt2.txt";
         $txt[2] = "txt3.txt";
         $txt[3] = "txt4.txt";
         $txt[4] = "txt5.txt";
         
		 //le premier vide
		 for($i=0;$i<5;$i++){
	         $open[$i] = fopen($txt[$i], 'a');
		     $length[$i] = strlen($open[$i]);
			 fclose($open[$i]);
		     if($length[$i] == 0){
		         return $i;
		     }
			 if($i == 4 && $length[$i]!=0){
			     $i = false;
			     return $i;
			 }
		 }
		 
		 //nom et message
		 $name = htmlentities($_GET["name"]);
         $msg = htmlentities($_GET["msg"]);
		 
		 if(!isset($name,$msg) && strlen($name)<100 && strlen($msg)<600){
		     break;
		 }
		 
		 //date et heure en francais
		 $mois[1] = "janvier";
		 $mois[2] = "fevrier";
		 $mois[3] = "mars";
		 $mois[4] = "avril";
		 $mois[5] = "mai";
		 $mois[6] = "juin";
		 $mois[7] = "juillet";
		 $mois[8] = "août";
		 $mois[9] = "septembre";
		 $mois[10] = "octobre";
		 $mois[11] = "novembre";
		 $mois[12] = "décembre";
		 
		 $jour[1] = "lundi";
		 $jour[2] = "mardi";
		 $jour[3] = "mercredi";
		 $jour[4] = "jeudi";
		 $jour[5] = "vendredi";
		 $jour[6] = "samedi";
		 $jour[7] = "dimanche";
		 
		 $date = getDate();
		 
		 $semaine = $date[wday];
		 $annee = $date[year];
		 $moi = $date[mon];
		 $journee = $date[mday];
		 $heure = $date[hours];
		 $minute = $date[mintes];
		 $secs = $date[seconds]; 
         
         $ajout = "$jour[$semaine] $journee $mois[$moi] $annee à $heure h $minute min $secs sec";	 
		 //texte rajouté dans le fichier
		 $pre = "Rajouté par $name le $ajout par $name";
		 
		 //si un fichier et vide:
		 if(isset($i) && $i<5){
		     $op = fopen($txt[$i], 'a');
			 $incl = "<div class='com'><div class='header'>$ajout</div><div class='msg'>$msg</div></div>";
			 fwrite($op, $incl);
             fclose($op);
		 }
		 echo htmlentities($_GET["name"]).htmlentities($_GET["msg"]);
		 //si aucun fichier est vide
		 //if($i == false){
		     
		 //}
	 }
}
$obj = new txt();
$obj -> see();

include("txt1.txt");
echo"<br>";
include("txt2.txt");
echo"<br>";
include("txt3.txt");
echo"<br>";
include("txt4.txt");
echo"<br>";
include("txt5.txt");
?>
Configuration: Windows XP
Firefox 2.0.0.3

3 réponses

  1. Bonjour
    bien sur:
    la page load.php:
    <?php
    class txt{
         function see(){
    	     //fichier texte
    	     $txt[0] = "txt1.txt";
             $txt[1] = "txt2.txt";
             $txt[2] = "txt3.txt";
             $txt[3] = "txt4.txt";
             $txt[4] = "txt5.txt";
             
    		 //le premier vide
    		 for($i=1;$i<6;$i++){
    	         $open[$i] = fopen($txt[$i], 'a');
    		     $length[$i] = strlen($open[$i]);
    			 fclose($open[$i]);
    		     if($length[$i] == 0){
    		         return $i;
    		     }
    			 if($i == 4 && $length[$i]!=0){
    			     $i = false;
    			     return $i;
    			 }
    		 }
    		 
    		 //nom et message
    		 $name = htmlentities($_GET["name"]);
             $msg = htmlentities($_GET["msg"]);
    		 
    		 if(!isset($name,$msg) && strlen($name)<100 && strlen($msg)<600){
    		     break;
    		 }
    		 
    		 //date et heure en francais
    		 $mois[1] = "janvier";
    		 $mois[2] = "fevrier";
    		 $mois[3] = "mars";
    		 $mois[4] = "avril";
    		 $mois[5] = "mai";
    		 $mois[6] = "juin";
    		 $mois[7] = "juillet";
    		 $mois[8] = "août";
    		 $mois[9] = "septembre";
    		 $mois[10] = "octobre";
    		 $mois[11] = "novembre";
    		 $mois[12] = "décembre";
    		 
    		 $jour[1] = "lundi";
    		 $jour[2] = "mardi";
    		 $jour[3] = "mercredi";
    		 $jour[4] = "jeudi";
    		 $jour[5] = "vendredi";
    		 $jour[6] = "samedi";
    		 $jour[7] = "dimanche";
    		 
    		 $date = getDate();
    		 
    		 $semaine = $date[wday];
    		 $annee = $date[year];
    		 $moi = $date[mon];
    		 $journee = $date[mday];
    		 $heure = $date[hours];
    		 $minute = $date[mintes];
    		 $secs = $date[seconds]; 
             
             $ajout = "$jour[$semaine] $journee $mois[$moi] $annee à $heure h $minute min $secs sec";	 
    		 //texte rajouté dans le fichier
    		 $pre = "Rajouté par $name le $ajout par $name";
    		 
    		 //si un fichier et vide:
    		 if(isset($i) && $i<5){
    		     $op = fopen($txt[$i], 'a');
    			 $incl = "<div class='com'><div class='header'>$ajout
    			 </div><div class='msg'>$msg</div></div>";
    			 fwrite($op, $incl);
                 fclose($op);
    		 }
    		 //si aucun fichier est vide
    		/*if($i == false){
    		     
                 for($a = 0; $a < 3; $a++){
    			     $b = a++;
    				 if($b == 1){
    				     $tx = $op = fopen($txt[1], 'a');
    					 
    				 }
    				 if($b<2&&$b4){
    				     rename($ouvrir[$a], "txt$b.txt");
    				 }
    		     }
    		 }
    		 */
    	 }
    }
    $obj = new txt();
    $obj -> see();
    ?>
    


    1. la page tst.html
      <html>
           <head>
      	     <title>Tchat</title>
               <link rel="stylesheet" type="text/css" href="style.css"/>
               <script type="text/javascript" src="script.js"></script>
           </head>
           <body>
      	     <div id="target"></div>
      	     <a href="#" onclick="open_file(),focus_name()">Ajouté votre commentaire</a>
               <div id="ad" style="display:none;"><br>
      		     <table border="0">
      			 <tr><td>Nom&nbsp;&nbsp;</td></tr>
      			 <tr><td><input type="text" name="name" id="name"></input></td></tr>
                   <tr><td>Message&nbsp;&nbsp;</td></tr>
      			 <tr><td><textarea name="msg" id="msg"></textarea></td></tr>
                   <tr><td><input type="button" value="envoyer" id="submit" onclick="send_msg()"></input></td></tr>
      			 </table>
               </div>
           </body>
      </html>
      

      et le script ajax/js
      function focus_name(){
           document.getElementById("name").focus();
      }
      
      function open_file(){
           var div = document.getElementById("ad");
           if(div.style.display == "none"){
      	     div.style.display = "block";
      	 }
      	 else{
      	     div.style.display = "none";
      	 }
      } 
      
      function send_msg(){
      var load;
      try {
      load = new ActiveXObject("Msxml2.XMLHTTP");
      } 
           catch (e) {
               try {
               load = new ActiveXObject("Microsoft.XMLHTTP");
      	     } 
      	         catch (e) {
      	         load = false;
      	         }
           }
      	 
      if (!load && typeof XMLHttpRequest != 'undefined'){
           load = new XMLHttpRequest();
      }
      var name = document.getElementById("name").value;
      var msg = document.getElementById("msg").value;
      var url = "load.php?name="+name+"&&msg="+msg;
      alert(url);
      load.open("GET", url);
      load.onreadystatechange = function(){
           if (load.readyState == 4 && load.status == 200) {
                document.getElementById("target").innerHTML = load.responseText;
           }
      }
      load.send(null);
      }
      

      Si cela peut aider
      Merci bcp