[php]class de livre d'or

krabs Messages postés 54 Statut Membre -  
krabs Messages postés 54 Statut Membre -
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. s.spark Messages postés 2528 Statut Contributeur 618
     
    Salut,

    Peut-on avoir le formulaire ?
    0
  2. krabs Messages postés 54 Statut Membre 20
     
    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();
    ?>
    


    0
  3. krabs Messages postés 54 Statut Membre 20
     
    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
    0