[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. 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
    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();
      ?>