Histoire de chat besoin de secour
Résolu/Fermé
A voir également:
- Histoire de chat besoin de secour
- Coco chat - Accueil - Réseaux sociaux
- Remplaçant de Coco : quelles solutions pour tchater gratuitement en ligne ? - Accueil - Réseaux sociaux
- Chat engine - Télécharger - Outils Internet
- Chat hot ✓ - Forum Réseaux sociaux
- Chat gpt gratuit - Télécharger - Outils Internet
6 réponses
coeus
Messages postés
3021
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
19 juin 2013
119
22 août 2011 à 23:20
22 août 2011 à 23:20
Quand tu dis que tu veux plusieurs chats, que veux-tu exactement ?
Qu'il y ait plusieurs "chatrooms" ?
Ou qu'il y ait plusieurs chats actifs en même temps, un peu comme Facebook ?
Dans ce dernier cas, je ne sais pas si tu utilises déjà du Ajax ? J'imagine que oui, ça me semble plutôt nécessaire pour un chat efficace... Quoiqu'il en soit, c'est là la solution que je te proposerais : faire une requête Ajax pour chaque fenêtre de chat ouverte en même temps. Chaque requête gère un objet XMLHttp différent, donc pas de conflit ; et ça ne devrait pas gêner la BDD non plus... Avec ça, juste un peu de Javascript indépendant pour créer les divisions dans lesquelles sont affichées lesdites fenêtres de chat, et aussi créer des onglets pour ouvrir/fermer ces fenêtres (je me base toujours sur Facebook ici, je n'ai aucune idée si ça s'adapte à la forme de ton site !)
Malheureusement je suis un peu limité sur le code que je peux te donner, pour ça il faudrait que j'aie tout ton site sous la main... :-S
Mais dis-moi si ce que je dis semble faire sens pour toi, et si tu penses que ça puisse s'adapter à ton cas. Sinon, dis-moi pourquoi, je verrai si je peux penser à une autre idée...
Qu'il y ait plusieurs "chatrooms" ?
Ou qu'il y ait plusieurs chats actifs en même temps, un peu comme Facebook ?
Dans ce dernier cas, je ne sais pas si tu utilises déjà du Ajax ? J'imagine que oui, ça me semble plutôt nécessaire pour un chat efficace... Quoiqu'il en soit, c'est là la solution que je te proposerais : faire une requête Ajax pour chaque fenêtre de chat ouverte en même temps. Chaque requête gère un objet XMLHttp différent, donc pas de conflit ; et ça ne devrait pas gêner la BDD non plus... Avec ça, juste un peu de Javascript indépendant pour créer les divisions dans lesquelles sont affichées lesdites fenêtres de chat, et aussi créer des onglets pour ouvrir/fermer ces fenêtres (je me base toujours sur Facebook ici, je n'ai aucune idée si ça s'adapte à la forme de ton site !)
Malheureusement je suis un peu limité sur le code que je peux te donner, pour ça il faudrait que j'aie tout ton site sous la main... :-S
Mais dis-moi si ce que je dis semble faire sens pour toi, et si tu penses que ça puisse s'adapter à ton cas. Sinon, dis-moi pourquoi, je verrai si je peux penser à une autre idée...
"minichat.php"
<!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" />
</head>
<style type="text/css">
form
{
text-align:center;
}
</style>
<body>
<form action="minichat_post.php" method="post">
<p>
<label for="pseudo">Pseudo</label> : <input type="text" name="pseudo" id="pseudo" /><br />
<label for="message">Message</label> : <input type="text" name="message" id="message" /><br />
<input type="submit" value="Envoyer" />
</p>
</form>
<?php
// Connexion à la base de données
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);
// Récupération des 10 derniers messages
$reponse = $bdd->query('SELECT pseudo, message FROM minichat ORDER BY ID DESC LIMIT 0, 10');
// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
while ($donnees = $reponse->fetch())
{
echo '<p><strong>' . htmlspecialchars($donnees['pseudo']) . '</strong> : ' . htmlspecialchars($donnees['message']) . '</p>';
}
$reponse->closeCursor();
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
</body>
</html>
<!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" />
</head>
<style type="text/css">
form
{
text-align:center;
}
</style>
<body>
<form action="minichat_post.php" method="post">
<p>
<label for="pseudo">Pseudo</label> : <input type="text" name="pseudo" id="pseudo" /><br />
<label for="message">Message</label> : <input type="text" name="message" id="message" /><br />
<input type="submit" value="Envoyer" />
</p>
</form>
<?php
// Connexion à la base de données
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);
// Récupération des 10 derniers messages
$reponse = $bdd->query('SELECT pseudo, message FROM minichat ORDER BY ID DESC LIMIT 0, 10');
// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
while ($donnees = $reponse->fetch())
{
echo '<p><strong>' . htmlspecialchars($donnees['pseudo']) . '</strong> : ' . htmlspecialchars($donnees['message']) . '</p>';
}
$reponse->closeCursor();
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
</body>
</html>
coeus
Messages postés
3021
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
19 juin 2013
119
22 août 2011 à 20:08
22 août 2011 à 20:08
Salut,
Et en français ça donne quoi ?
Si les touches Shift, virgule et point de ton clavier fonctionnent mal, envisage de changer de clavier. Autrement, utilise-les.
Merci.
Et en français ça donne quoi ?
Si les touches Shift, virgule et point de ton clavier fonctionnent mal, envisage de changer de clavier. Autrement, utilise-les.
Merci.
"minichat-post.php"
<?php
// Connexion à la base de données
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);
// Insertion du message à l'aide d'une requête préparée
$req = $bdd->prepare('INSERT INTO minichat (pseudo, message) VALUES(?, ?)');
$req->execute(array($_POST['pseudo'], $_POST['message']));
// Redirection du visiteur vers la page du minichat
header('Location: minichat.php');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
<?php
// Connexion à la base de données
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);
// Insertion du message à l'aide d'une requête préparée
$req = $bdd->prepare('INSERT INTO minichat (pseudo, message) VALUES(?, ?)');
$req->execute(array($_POST['pseudo'], $_POST['message']));
// Redirection du visiteur vers la page du minichat
header('Location: minichat.php');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
graffx
Messages postés
6506
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
24 mars 2019
1 975
22 août 2011 à 21:33
22 août 2011 à 21:33
je dirai meme que n 'etant pas devin, sans nous dire ce qui ne marche pas, ca va etre dur...
"allo docteur, je vous appelle parce que j' ai mal, qu'est ce que c'est?"
"allo docteur, je vous appelle parce que j' ai mal, qu'est ce que c'est?"
coeus
Messages postés
3021
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
19 juin 2013
119
22 août 2011 à 21:42
22 août 2011 à 21:42
Plutôt :
"Allô docteur, je vous appelle parce que j'ai un problème que je voudrais que je marche sans que la main tombe sur la jambe du coin de la table du petit orteil ouille ouille ouille mais je marche à la main deux fois sans tomber dans le ouille de la table du coin."
No offense ici j'espère, je m'amuse ! ;-)
"Allô docteur, je vous appelle parce que j'ai un problème que je voudrais que je marche sans que la main tombe sur la jambe du coin de la table du petit orteil ouille ouille ouille mais je marche à la main deux fois sans tomber dans le ouille de la table du coin."
No offense ici j'espère, je m'amuse ! ;-)
et bien tous d'abord bonjour je vois que j'en prend plein mon grade virgule excusez moi se n'était que faute d'inattention je ne pensez pas vous offensez pour peut et je m'en excuse vraiment , enfaite voilà j'ai fait un chat, avec les code au dessus et une table sql,qui marche parfaitement mais sur mon site je voudrez plusieurs chats.
que faut il changer dans mes code pour que cella fonctionne?
non cella ne m'offense pas aimant l'humour ;)
ps : merci graffx pour m'avoir aidé sur un ancien sujet ;)
que faut il changer dans mes code pour que cella fonctionne?
non cella ne m'offense pas aimant l'humour ;)
ps : merci graffx pour m'avoir aidé sur un ancien sujet ;)
22 août 2011 à 23:48
oui j'en utilise je vous remercie beaucoup .
j'ai essayez de faire exactement pareil que le premier chat avec les même code sauf que j'ai changé " $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);" en "$bdd = new PDO('mysql:host=localhost;dbname=test2', 'root', '', $pdo_options); ...
mais ca ne fonctionne pas j'ai du oubliez de changez quelque chose je ne comprend pas .
mais l'idée de chatrooms c'est exactement ça il y a tous les noms des chat
chat ciné chat gamme... et quand on clique dessus le chat s'ouvre .
Modifié par coeus le 22/08/2011 à 23:54
Bizarre que ta requête ne fonctionne plus. Tu n'as pourtant changé que le nom de la base de données que tu appelles (test2 au lieu de test)
Et ta base de données test2, elle a exactement la même structure que test ? Elles ont les mêmes autorisations aussi ?
Il s'agit bien de deux bases de données différentes, et non pas de deux tables dans une même BDD ?
Vite de même c'est pas mal ce que je peux voir... :-S
Regarde ça, sinon j'essaierai de relire ton code... ça se peut que je manque de temps, ma présence sur le forum est comptée et je pars en voyage pendant deux semaines dans quelques jours... Mais je vais faire mon possible pour t'aider d'ici-là ! ;-)
Et à la rigueur, on va essayer de laisser assez de traces de notre démarche pour que d'autres puissent prendre le relais par la suite !
23 août 2011 à 14:29
c'est vraiment sympathique didonc c'est une grande preuve de générosité rare .
prenez votre temps je serrais patient je me contente vraiment de cette aide précieuse . encore merci cella me touche beaucoup ;)
23 août 2011 à 14:41
Ok maintenant, quand tu dis que ça ne marche pas, tu veux dire quoi ?
Est-ce que ça te sort un message d'erreur quelconque ? Si oui, peux-tu nous le donner ?
Est-ce qu'il y a une étape en particulier qui bogue ?
Si tu ne reçois pas de message d'erreur et que tu ne sais pas à quelle étape ça plante exactement, as-tu essayé de rentrer tes requêtes SQL directement dans phpmyadmin (ou l'équivalent) pour voir si ça marche tout seul ? Si tu l'as fait et que toutes tes requêtes semblent correctes, on va chercher ailleurs...
23 août 2011 à 14:48