Chat Box, Smileys et actualisations

zlitus Messages postés 43 Date d'inscription dimanche 13 juin 2004 Statut Membre Dernière intervention 8 janvier 2007 - 15 juin 2005 à 00:39
tronch Messages postés 5 Date d'inscription dimanche 24 mai 2009 Statut Membre Dernière intervention 24 août 2009 - 11 mai 2009 à 19:36
Salut

je suis tout noob en PHP et j'ai commencé une chat box toute simple comme ça la : http://membres.lycos.fr/vivemoa/chat/cadre1.htm

donc, j'ecrit le pseudo, puis le message, puis je poste. Sa envoit les donnés dans un fichier TXT.

Seulement, j'aimerai savoir si c'est possible de remplacer :P ou autre chose par un smiley alors que c'est dans un fichier TXT.

Deuxieme probleme, j'aimerai que le cadre ou les messages s'affiche donc le txt se ré actualise tout seul, mais comme cest un txt je sait pas comment faire et je veu pas ré actualisé toute la page.

voila merci d'avance pour vos réponces...

4 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
15 juin 2005 à 09:43
Hello,



un peu de pub ;-)

http://www.phpcs.com/code.aspx?id=29093



Pas pour que tu l'utilises, mais pour que tu vois comment je fais tout
ca : actualisation immediate, smileys, le tout avec un fichier texte.
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
15 juin 2005 à 18:13
Salut,



pour remplacer tes :P par exemple :



$texte=str_replace(':P','',$texte);



Ensuite pour le fafraîchissement donne-nous ton code qu'on essaie de faire ça sans passer par une iframe...

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
15 juin 2005 à 18:44
Bah il suffit de mettre le traitement du formulaire et l'affichage avant le formulaire lol .
0
tronch Messages postés 5 Date d'inscription dimanche 24 mai 2009 Statut Membre Dernière intervention 24 août 2009
11 mai 2009 à 19:36
Bonjour,
Je suis depuis quelques jours sur un probleme que je n'arrive pas a resoudre , je n'arrive pas a afficher une image smyle a la place j'ai un un code,
je vous passe mon programme et si l'un d'entre vous pouvez m'aider, j'en serai bien content par ce que je peche reellementn
merci a tous,
Amicalement,
tronch
je vous passe mon code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns= "http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Mini-chat</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script>
function bbcode(bbdebut, bbfin)
{
var input = window.document.formulaire.message;
input.focus();
if(typeof document.selection != 'undefined')
{
var range = document.selection.createRange();
var insText = range.text;
range.text = bbdebut + insText + bbfin;
range = document.selection.createRange();
if (insText.length == 0)
{
range.move('character', -bbfin.length);
}
else
{
range.moveStart('character', bbdebut.length + insText.length + bbfin.length);
}
range.select();
}
else if(typeof input.selectionStart != 'undefined')
{
var start = input.selectionStart;
var end = input.selectionEnd;
var insText = input.value.substring(start, end);
input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end);
var pos;
if (insText.length == 0)
{
pos = start + bbdebut.length;
}
else
{
pos = start + bbdebut.length + insText.length + bbfin.length;
}
input.selectionStart = pos;
input.selectionEnd = pos;
}

else
{
var pos;
var re = new RegExp('^[0-9]{0,3}$');
while(!re.test(pos))
{
pos = prompt("insertion (0.." + input.value.length + " ):", "0" );
}
if(pos > input.value.length)
{
pos = input.value.length;
}
var insText = prompt("Veuillez taper le texte" );
input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos);
}
}
function smilies(img)
{
window.document.formulaire.message.value += '' + img + '';
}
</script>
</head>






<table border=\"10\" bgcolor=\"#ff33ff\" height=\"500\" width=\"1200\">

----

Annotation

Vous admettez
que tous les messages postés sur ce Mini-Chat expriment la vue et l'opinion
de leurs auteurs respectifs, et non pas des administrateurs, ou modérateurs,
ou webmestres (excepté les messages postés par eux-mêmes) et par conséquent
ils ne peuvent être tenus pour responsables. Vous consentez à ne pas poster
de messages injurieux, obscènes, vulgaires, diffamatoires, menaçants, sexuels
ou tout autre message qui violerait les lois applicables. Le faire peut vous
conduire à être banni immédiatement et de façon permanente (et votre fournisseur
d'accès à internet en sera informé). L'adresse IP de chaque message est enregistrée
afin d'aider à faire respecter ces conditions. Vous êtes d'accord sur le fait
que le webmestre, l'administrateur et les modérateurs de ce Mini Chat ont
le droit de supprimer, éditer, déplacer ou verrouiller n'importe quel sujet
de discussion à tout moment. En tant qu'utilisateur, vous êtes d'accord sur
le fait que toutes les informations que vous donnerez ci-après seront stockées
dans une base de données. Cependant, ces informations ne seront divulguées
à aucune tierce personne ou société sans votre accord.

L'administrateur, et les
modérateurs ne peuvent pas être tenus pour responsables si une tentative de
piratage informatique conduit à l'accès de ces données.

<?php
function smiley($donnees)
{
$codsmiley = array(':blink:' , ':angry:');
$imgsimley = array(' , ');
str_replace($codsmiley, $imgsmiley, $message);

return $donnees;
}

if (isset($_POST['pseudo']) AND isset($_POST['message'])) // Si les variables existent

$_POST['pseudo'] = trim($_POST['pseudo']); // Si l'utilisateur a mis des espaces, on les supprime
$_POST['message'] = trim ($_POST['message']); // Comme ça, ton système est plus performant...

{
if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL) // Si on a quelque chose à enregistrer
{
// D'abord, on se connecte à MySQL
mysql_connect("localhost", "root", "");
mysql_select_db("coursphp");

// On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
$date = date('y/m/d');
$heure = date('H:i:s');
// Ensuite on enregistre le message
mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message', '$date', '$heure')");
echo ' le message a été envoyé.';
// On se déconnecte de MySQL
mysql_close();
}
}
// Que l'on ait enregistré des données ou pas...
// On affiche le formulaire puis les 10 derniers messages
// Tout d'abord le formulaire :
?>

<table BACKGROUND="cheval1.jpg" cellpadding="0" cellspacing="0" border="3" height="200" width="900">

----,
</td>

<td>
<form method=\"post\" action=\"minichat15.php\" name=\"formulaire\" >
Pseudo :

Message : <textarea name=\"message\"/></textarea>

<center>
</center>

<fieldset><legend>Mise en forme</legend>

</fieldset>

</form>




<?php
// Maintenant on doit récupérer les 07 dernières entrées de la table
// On se connecte d'abord à MySQL :
mysql_connect("localhost", "root", "");
mysql_select_db("coursphp");
// On utilise la requête suivante pour récupérer les 0,07 derniers messages :
$reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,07")or die(mysql_error());
// On se déconnecte de MySQL
mysql_close();
// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = mysql_fetch_array($reponse) )


{

?>
<?php echo $donnees['pseudo']; ?>,
<?php echo $donnees['message'];?>,
<?php echo $donnees['date']; ?> |
<th width =\"300\" width=\"30\"bgcolor=\"#0044ff\">
<?php echo $donnees['heure']; ?></td>

<?php
}
?>
</center>


<center>
<?php echo ' nous sommes le : ' . date('d/m/y');
?>
</center>


<center>
<?php echo ' Il est : ' . date('H/i/s');
?>
</center>


<center>
<?php echo ' nous sommes le : ' . date('F/l/Y');
?>

[mailto:p.tronchet@cite-sciences.fr Webmaster]

</html>
0
Rejoignez-nous