[php]class de livre d'or
krabs
Messages postés
54
Statut
Membre
-
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
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
-
-
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(); ?>
-
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 </td></tr> <tr><td><input type="text" name="name" id="name"></input></td></tr> <tr><td>Message </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/jsfunction 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