
Membre
|
Salut, je vous offres un petit code de 4 page, gestion. vision, sauvegarde et chargement.. pour un t-chat gerer en temp reel avec une fichier .txt comme une base de donner... nous utilisons mysqli en orienter object pour gerer lidentification du membre etc.. vous pouvez changer les choses. Je vous offre se script car je ne l'aurai plus besion donc si sa peut aider quelque
Créer 4 fichier
- 3chat.txt
-chat1.php
-chat.php
- le dernier c pour votre espace membre.. donc choisisser le nom que vous voulez et meter le dans le repertoire de votre administration..
Fichier de chargement et envoie pour le .txt appeller ici chat1.php
<?php
error_reporting(0);
session_start();
if(empty($_SESSION['pseudo'])){die();}
$mysqli = new mysqli("localhost", "username", "motdepasse", "basededonner");
if (mysqli_connect_errno()) {
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}
function montre($a){
$insert['msg'] = htmlspecialchars(strip_tags($a));
$datafucked = $insert['msg'];
$datafucked = html_entity_decode($datafucked);
// ici on met les bbcodes par exemple..
$datafucked = str_replace("\\n","<br>", $datafucked);
$datafucked = str_replace("[r]","<br>", $datafucked);
return $datafucked;
}
function secure($f,$mysqli){
return $mysqli->real_escape_string($f);
}
// identifie le membre.. ici c'est $_SESSION['pseudo'] a changer selon vos besion ainsi que la requete ..
$p = $mysqli->query("SELECT * FROM players WHERE id='".$_SESSION['pseudo']."'");
$players = $p->fetch_array();
if(empty($_GET['mp'])){
function chat(){
$chat = '';
$tableau = file("./3chat.txt" );
$count = count($tableau);
$page = floor($count/15);
if($_GET["a"] > 1){
$a = $count;
$count = $count - (($_GET["a"]-1)*15);
$ca = $count - 15;
if($_GET["a"] > $page){$count =15; $ca = 0;}
} else {
$chat .= '<table class="tableau" width="90%"><tr><th>Date/Joueur</th><th>Message</th></tr>';
$ca = $count - 15;}
for ($i = $ca;$i <= ($count-1); $i++){
$b = explode("|",$tableau[$i]);
if($b[2] == 0){
$mytime = date("d/m H:i:s",$b[3]);
if(!empty($b[0])){
$chat .= "<tr><td>";
// changer ici profil?id= pour votre page ou il y a la presentation de votre membre par exemple...
$chat .= '<a href="profil?id='.$b[4].'-'.$b[0].'" class="username">'.montre($b[0]).'</a><br />';
$chat .= "<span>".$mytime."</span></td><td>";
$chat .= "".montre($b[1])."";
$chat .= "</td></tr>";}
}
}
$chat .= "</table>";
return $chat;
}
?>
<?php
echo chat();
}
else {
// changer $players['username'] pour le champ qui affiche le pseudo du membre..
$url = $players['username'];
$sitename= $_GET['mp'];
$mp = "".$url."|".$sitename."|0|".time()."|".$players['id']."\n";
$fichier_texte = fopen('./3chat.txt', 'a');
fwrite($fichier_texte,$mp);
fclose($fichier_texte);
}
$mysqli->close();
?>
chat.php
<script type="text/javascript">
function showHint()
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","chat1.php",true);
xmlhttp.send();
}
showHint();
</script>
<script type="text/javascript">
function showHint1()
{
var str = document.getElementById("withdraw").value;
if (str.length==0)
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint1").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","chat1.php?mp="+str,true);
xmlhttp.send();
document.getElementById("withdraw").value = "";
showHint();
}
showHint();
var int=self.setInterval(function(){showHint()},10000);
</script>
<span id="txtHint"></span><br />
<form action="#" method="post">
<center>
<textarea name="withdraw" id="withdraw"></textarea><br />
<input type="submit" class="btn" value="Send" name="send" onclick="showHint1(); return false;" />
</center>
</form>
et le code pour votre page d'aministration..
<?php
if(isset($_POST['id']) && preg_match("/^[0-9]+$/",$_POST['id'])){
$tableau = file("../3chat.txt" );
$count = count($tableau);
$a = $_POST['id'];
for ($i = 0;$i <= $count; $i++){
if($i == $a){
$b = explode("|",$tableau[$i]);
if($b[2] == 0){
$n .= "".$b[0]."|".$b[1]."|1|".$b[3]."";
}
else {
$n .= "".$b[0]."|".$b[1]."|0|".$b[3]."";
}
}
else {
$n .=$tableau[$i];
}
}
$fichier_texte = fopen('../3chat.txt', 'w+');
fwrite($fichier_texte,$n);
fclose($fichier_texte);
}
function chat(){
$chat = '';
$tableau = file("../3chat.txt" );
$count = count($tableau);
$page = floor($count/15);
if($_GET["a"] > 1){
$a = $count;
$count = $count - (($_GET["a"]-1)*15);
$ca = $count - 15;
if($_GET["a"] > $page){$count =15; $ca = 0;}
} else {
$chat .= '<table class="tableau" width="100%"><tr><th>Date/Joueur</th><th>Message</th><th>Action</th></tr>';
$ca = $count - 15;}
for ($i = $ca;$i <= ($count-1); $i++){
$b = explode("|",$tableau[$i]);
$mytime = date("d/m H:i:s",$b[3]);
if(!empty($b[0])){
$chat .= "<tr><td>";
$chat .= '<a href="profil.php?id='.$b[4].'&u='.$b[0].'" class="username">'.montre($b[0]).'</a><br />';
$chat .= "<span>".$mytime."</span></td><td>";
$chat .= "".montre($b[1])."";
$chat .= "</td><td>";}
$nbligne = $nbligne +1;
if($b[2] == 0){$chat .= '<form method="post" action="" name="'.$nbligne.'" id="'.$nbligne.'">
<input type="hidden" name="id" value="'.$i.'">
</form><img width=32 height=32 onclick="document['.$nbligne.'].submit()" src=../valid.png />';}
else {
$chat .= '<form method="post" action="" name="'.$nbligne.'">
<input type="hidden" name="id" value="'.$i.'">
</form><img width=32 height=32 onclick="document['.$nbligne.'].submit()" src=../error.png />';
}
}
$chat .= "</td></tr></table>";
return $chat;
}
echo chat();
?>
et a inserer dans le repertoire principal du site.. c'est 2 image
https://bazinio.ca/admin/images/valid.png
https://bazinio.ca/admin/images/error.png
https://guerredesgangs.net & http://www.bazinio.ca & http://www.thestreet2.ca
|

Membre
|
Le fichier de gestion vous permet d'afficher ou masquer des messages comme les spams ou autre.. il est possible de l'optimiser
https://guerredesgangs.net & http://www.bazinio.ca & http://www.thestreet2.ca
|

Membre
|
Et sur la page 3chat.txt tu mets quel code ????
|