probleme avec un chat php

Eléphanteau du PHP | 10 Messages

28 avr. 2006, 16:24

bonjour a tous
j' ai un probleme a vous exposez voila:

j' ai un chat que j' ai insttaller sur mon forum qui fonctionne sans SQL
mais il demare avec une page " index.htm" qui demande a entre un pseudo une foi fait on entre dans le chat avec la page "message.php"
je peux demarer directement avec la page "message.php" mais la je n'ai aucun pseudo de mes membres d'ou mon probleme
est il possible de metre sur la page "message.php" une recherche de pseudo par le nom des membres qui sont obligatoirement identifier pour acceder au chat ????
voici les pages consernent:
"index.htm":
<html>
<head>
<title>chat</title>
<link href=style.css rel=stylesheet type=text/css>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
<!--
body {
	background-color: #f0f0f0;
}
-->
</style></head>
<body topmargin=30>
<form name=form1 method=post action=messages.php>
<img src=images/haut.png align=top>
<table width=780 class=tableaux>
<tr><td align=center><font class=lapagemagique>
Veuillez choisir un pseudo  : <input type=text name=name maxlength=14 class=pseudo><input type=submit value="Entrer dans le chat" class=boutons>
</td></tr>
</table>
<img src=images/bas.png align=top> 
</form>
</body>
</html>

la page "messages.php":
<?php
function controle($lapagemagique){	
$lapagemagique = htmlspecialchars($lapagemagique);
$lapagemagique = nl2br($lapagemagique);
$lapagemagique = str_replace("/1/","<img src=images/1.gif border=0 align=absmiddle align=absmiddle>",$lapagemagique);
$lapagemagique = str_replace("/2/","<img src=images/2.gif border=0 align=absmiddle>",$lapagemagique);
$lapagemagique = str_replace("/3/","<img src=images/3.gif border=0 align=absmiddle>",$lapagemagique);
include'insultes.php';
$lapagemagique = eregi_replace("([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])","<A HREF=\"\\1://\\2\\3\" TARGET=\"_blank\">\\1://\\2\\3</A>",$lapagemagique);
$lapagemagique = eregi_replace("(([a-z0-9_]|\\-|\\.)+@([^[:space:]]*)([[:alnum:]-])\.([^[:space:]]*)([[:alnum:]-]))","<a href=\"mailto:\\1\">\\1</a>",$lapagemagique);
return $lapagemagique;
}
if($msg!=""){
Function lapagemagique2($contenu){ 
$fp = fopen("chat.txt", "w");
$r = fwrite($fp, "$contenu"); 
fclose($fp); 
}
Function lapagemagique3(){
$max=15;
$fcontents = file("chat.txt");
$lines=count($fcontents);
if ($lines<$max){$startline=0;}else{$startline=$lines-$max;}
for ($i = 0; $i <= $max; $i++) {$contenu .= $fcontents[$i+$startline];}
return $contenu; 
}
lapagemagique2(lapagemagique3()."<font class=lapagemagique1>".date("H:i")." : <font class=lapagemagique2>".$name."
<font size=-2 color=$color> : ".controle(stripslashes($msg))."<br>");
}
include("principale.php");
?>
la page "principale.php":
<html>
<head>
<title>chat</title>
<link href=style.css rel=stylesheet type=text/css>
<script language=JavaScript1.2>
function smiley(remplacer) {
document.send.msg.value=document.send.msg.value + remplacer
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
<!--
body {
	background-color: #f0f0f0;
}
-->
</style></head>
<body topmargin=2>
<center>
<img src=images/haut.png align=top>
<table width=780 cellpadding=0 cellspacing=0 class=tableaux>
<tr><td><iframe id=messages width=770 height=403 frameborder=0 align=absmiddle scrolling=no src=rafraichir.php></iframe>
<form name=send method=post action=messages.php>
<input type=hidden name=name value="<?php echo controle($name); ?>">
<input type=text name=msg size=100 class=pseudo maxlength=85><img src=images/palette.gif align=middle><?include'couleurs.php'?><input type=submit value=envoyer class=boutons>
<script language=javascript>document.send.msg.focus();</script>
</td></tr>
<td align=center><font class=lapagemagique>
<tr><td align=center><p><br>
        <a href="JavaScript:smiley('/1/')"><img src=images/1.gif border=0 align=absmiddle alt="/1/"></a>
        <a href="JavaScript:smiley('/2/')"><img src=images/2.gif border=0 align=absmiddle alt="/2/"></a>
  </p>
  </td></tr></table> 
<img src=images/bas.png align=top> 
</form>
</body>
</html>
et pour finir la page "chat.php":
<?php
Function controle($lapagemagique){	
$lapagemagique = htmlspecialchars($lapagemagique);
$lapagemagique = nl2br($lapagemagique);
$lapagemagique = str_replace("/1/","<img src=images/1.gif border=0 align=absmiddle>",$lapagemagique);
$lapagemagique = str_replace("/2/","<img src=images/2.gif border=0 align=absmiddle>",$lapagemagique);
$lapagemagique = eregi_replace("<([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])>","<A HREF=\"\\1://\\2\\3\" TARGET=\"_blank\">\\1://\\2\\3</A>",$lapagemagique);
$lapagemagique = eregi_replace("\[([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])\]","<center><img src=\"\\1://\\2\\3\" border=0 align=absmiddle></center>",$lapagemagique);
$lapagemagique = eregi_replace("(([a-z0-9_]|\\-|\\.)+@([^[:space:]]*)([[:alnum:]-])\.([^[:space:]]*)([[:alnum:]-]))","<a href=\"mailto:\\1\">\\1</a>",$lapagemagique);
return $lapagemagique;
}
if($msg!=""){
Function lapagemagique2($contenu){ 
$fp = fopen("chat.txt", "w");
$r = fwrite($fp, "$contenu"); 
fclose($fp); 
}
Function lapagemagique3(){
$max=15;
$fcontents = file("chat.txt");
$lines=count($fcontents);
if ($lines<$max){$startline=0;}else{$startline=$lines-$max;}
for ($i = 0; $i <= $max; $i++) {$contenu .= $fcontents[$i+$startline];}
return $contenu; 
}
lapagemagique2(lapagemagique3()."<font class=lapagemagique1>".date("H:i")." : <font class=lapagemagique2>".$name."
<font size=-2 color=$color> : ".controle(stripslashes($msg))."<br>");
}
include("principale.php");
?>
cela fait 15 jours que je me casse la tete sans trouver peut etre y arriverez vous ?,
merci
Modifié en dernier par zapit le 28 avr. 2006, 16:46, modifié 1 fois.

Eléphant du PHP | 493 Messages

28 avr. 2006, 16:27

1) Utilise les balises PHP
2) Si le script ne te convient pas, modifies le
3) Si tu n'es pas capable de faire l'étape 2, cherche un autre script !

Eléphanteau du PHP | 10 Messages

28 avr. 2006, 16:39

bonjour mr Vaedan

de toulousain a toulousain je n' ai pas compris ta reponse
je suis un debutant donc il faut m' expliquer un peu

Eléphant du PHP | 493 Messages

28 avr. 2006, 16:42

Je te recommandais d'éditer ton message pour remplacer

Code : Tout sélectionner

par [php]. Ne sachant pas modifier ton Chat, je te recommande l'utilisation d'un autre script qui, je l'espère, te conviendra mieux. Voici un site qui référence pas mal de script et qui te proposera sur cette page, 4 chats sans base de données. [url]http://www.comscripts.com/scripts/php.chats.sc6.html[/url]

Eléphanteau du PHP | 10 Messages

28 avr. 2006, 16:52

ha ok
j' ai fait la modification
quant au chat je l' ai justement telecharge sur le site que tu me propose le voici:
http://www.comscripts.com/scripts/php.c ... .1276.html

et je les ai tous telecharge et essaye mais c' est le seul qui convient a mon forum c' est pour cela que je cherche a le modifier vu la ou il est placer sur mon forum
en fait je veut juste savoir s' il est possible de suprimer la premiere page et de le demarer avec la desieme en recuperant les pseudo des membres

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

28 avr. 2006, 16:58

Tout est possible :) (... tout est réalisable, c'est le jeu de la vie !)

Ta première page envoi le nom dans la variable "name", suffit donc de la virer et de modifier le reste du script pour y remplacer cette variable par ce que tu attends à la place... :)

Eléphant du PHP | 493 Messages

28 avr. 2006, 17:00

Euh désolé mais le code de ce chat est vraiment trop indigeste ! Je ne peux rien faire pour toi :) Tu peux toujours récupérer directement le pseudo via une variable propre à ton forum.

Eléphanteau du PHP | 10 Messages

28 avr. 2006, 17:16

bonjours mr Ryle

merci pour ta reponse
donc si je conprend bien il me faut suprimer toute les variables "

Code : Tout sélectionner

$name
"

par une identification automatik par le cookie

Code : Tout sélectionner

global $cookie; echo "pseudo $cookie[1];

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

28 avr. 2006, 17:23

Euh... probablement :)

mais plus simplement il te suffit de définir la variable name tout au début de ton script message.php en lui donnant la valeur de ton cookie par exemple... ca t'évite ainsi de devoir modifier tout le code :)

Eléphanteau du PHP | 10 Messages

28 avr. 2006, 17:25

merci
cela donnerait quoi en code a metre au debut du script ??

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

28 avr. 2006, 17:29

ben...
<?php 

$name = laValeurQueTuVeuxMettreQuiVientDeChépaoù ;

function controle($lapagemagique){
...
où "laValeurQueTuVeuxMettreQuiVientDeChépaoù" correspond à la valeur que tu veux mettre qui vient de chépaoù :) A priori si c'est du cookie ça doit être un truc du genre : $_COOKIE['leNomDuCookie'] :)

Eléphanteau du PHP | 10 Messages

28 avr. 2006, 17:32

ok merci
je teste et je vous tien au courant

Fethi - TN
Invité n'ayant pas de compte PHPfrance

22 juil. 2011, 16:50

Tu remplaces la première ligne par :
$lapagemagique = eregi_replace("([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])","<A HREF=\"\\1://\\2\\3\" TARGET=\"_blank\">\\1://\\2\\3</A>",$lapagemagique);

Et la ddeuxième ligne par :
$lapagemagique = eregi_replace("(([a-z0-9_]|\\-|\\.)+@([^[:space:]]*)([[:alnum:]-])\.([^[:space:]]*)([[:alnum:]-]))","<a href=\"mailto:\\1\">\\1</a>",$lapagemagique);

A+

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

22 juil. 2011, 18:47

Bon, ok, le sujet n'est pas marqué comme résolu et il n'a pas donné de nouvelles alors qu'il a dit qu'il le ferait... mais s'il est toujours sur ce problème 5 ans après, va vraiment falloir envisager d'arrêter le dev ;)

Ps : Merci de laisser reposer les morts :priere:
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...