Emettre un son sur Messagerie

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Emettre un son sur Messagerie

Comment virer le slash avant apostrophe

par Michel6359 » 08 janv. 2013, 23:20

Bonsoir

Excuse moi pour le retard mais très occupé au travail.

Entre j'ai abandonné cette solution , je me suis fait un minichat avec un tuto bien sûr pas assez calé , lol

Là j'ai un souci pas moyen de retirer les \ avant les apostrophes , bien connu sur le web , mais pas de solution pour le tuto que j'ai suivi , Merci si tu peux m'aider.

Code : Tout sélectionner

<?php header("content-type: application/json; charset=utf-8"); // Version avec PDO $conn = new PDO('mysql:host=localhost;dbname=*****', '****', '*****'); $currentTimestamp = time(); $lastTimestamp = (isset($_GET['lastTimestamp'])) ? $_GET['lastTimestamp'] : ($currentTimestamp-1); if (!empty($_POST['pseudo']) && !empty($_POST['message'])) { $message = htmlspecialchars ($_POST['message']); $pseudo = htmlspecialchars($_POST['pseudo']); mysql_query("SET NAMES UTF8"); [b]// ne marche pas [/b] $sth = $conn->prepare("INSERT INTO minichat(pseudo,message,timestamp) VALUES(:pseudo, :message, :timestamp)"); $sth->bindParam(":pseudo", $pseudo); $sth->bindParam(":message", $message); $sth->bindParam(":timestamp", $currentTimestamp); $sth->execute(); } $sth = $conn->prepare("SELECT * FROM minichat WHERE timestamp > :lastTimestamp ORDER BY id DESC LIMIT 0,10"); $sth->bindParam(":lastTimestamp", $lastTimestamp); $sth->execute(); $result_utf8 = $sth->fetchAll(PDO::FETCH_ASSOC); if(count($result_utf8) > 0) ini_set("zlib.output_compression", "On"); echo json_encode ($result_utf8); ?>

Re: Emettre un son sur Messagerie

par Nours312 » 07 janv. 2013, 09:57

Salut :

Ya un truc que je ne pige pas,j'ai donc telechargé le script, et l'ai testé en local, et chez moi le comportement est bon !...
la methode
[javascript]success: function(content){
playSong();
$('#room').html(content) ;
}[/javascript]
n'est appelée que lorsqu'il y a du nouveau à afficher !

Je ne pige pige pas pourquoi chez toi cela ne fonctionne pas !

Peux tu nous donner une url, et la confg (serveur / navigateur)

@+

Re: Emettre un son sur Messagerie

par Michel6359 » 05 janv. 2013, 14:22

RE avec cette solution je n'ai plus l'affichage des messages , seulement le formulaire avec envoie pour poster un message , j'ai quand même essayer d'envoyer un message avec un autre PC pour voir si nouveau message le chat se réactualise , mais non rien , il se réactualise seulement toute les 50 secondes même si pas de message puisque que je l'ai programmer ainsi.

Donc il ne détecte pas que le contenu à changer . Encore un grand Merci pour aide. J'espère que l'on va trouver une solution.

Code : Tout sélectionner

/** /** * Un mini-Chat en jQuery/Php * par Jay Salvat - http://blog.jaysalvat.com/ */ $(function() { $('#chat form').submit(function() { var user = $('#chat input[name=user]').val(); var message = $('#chat input[name=message]').val(); $.post('chat/chat.php', { 'user':user, 'message':message }, function() { refreshChat(); }); $('#chat input[name=message]').val(''); return false; }); function refreshChat() { $.ajax({ url: "chat/chat.html", ifModified:true, success: function(content){ if($('#room').innerHTML != content) { alert('du nouveau') ; $('#room').innerHTML = content ; } } }); setTimeout(refreshChat, 50000); } refreshChat(); });

Re: Emettre un son sur Messagerie

par Michel6359 » 05 janv. 2013, 14:07

Bonjour

Oui dur le jquery , je vais essayer ta solution , je viens de rentrer du travail , donc je le fais et je tiens au courant.

Mais enfin de compte si je comprend le script , j'ai un doute qu'il détecte du nouveau contenu , il fait simplement un rafraîchissement tout les 5 secondes.

Re: Emettre un son sur Messagerie

par Nours312 » 05 janv. 2013, 11:09

Bonjour,

Donc : tu as une alerte avec écrit "du nouveau" toutes les 5 secondes, qu'il y est un nouveau message ou non, c'est bien ça ?
=> ça signifie que ton script Ajax détecte une modification de contenue à chaque requête ... :(
=> et que la condition if($('#room').html() != content) indique que le contenue de #room est différent de la réponse ... Blizzard (ya pas a dire, j'aime pas jQuery) ...
peux tu tester ça :

[javascript]
if($('#room').innerHTML != content) {
alert('du nouveau') ;
$('#room').innerHTML = content ;
}[/javascript]

Et me dire si tu as toujours une alerte toutes les 5 secondes, même si il n'y a pas de nouveau message ...

Re: Emettre un son sur Messagerie

par Michel6359 » 04 janv. 2013, 19:38

J'avais oublier a la fin : refreshChat(); mais au lieu du son il affiche " du nouveau " , il ne met " du nouveau" que lorsque j'ai message mais toute les 5 secondes.

Code : Tout sélectionner

/** /** * Un mini-Chat en jQuery/Php * par Jay Salvat - http://blog.jaysalvat.com/ */ $(function() { $('#chat form').submit(function() { var user = $('#chat input[name=user]').val(); var message = $('#chat input[name=message]').val(); $.post('chat/chat.php', { 'user':user, 'message':message }, function() { refreshChat(); }); $('#chat input[name=message]').val(''); return false; }); function refreshChat() { $.ajax({ url: "chat/chat.html", ifModified:true, success: function(content){ if($('#room').html() != content) { alert('du nouveau') ; $('#room').html(content); } } }); setTimeout(refreshChat, 5000); } refreshChat(); });

Re: Emettre un son sur Messagerie

par Michel6359 » 04 janv. 2013, 19:27

Il affiche : Mon design mais pas les messages

Lorsque je post un message , il affiche alors tout les messages et une fenêtre toutes les 5 s " du nouveau ".

Et si change de page , puis je reviens sur mon chat plus de messages , il faut que je post un nouveau un message pour les voir .

Re: Emettre un son sur Messagerie

par Nours312 » 04 janv. 2013, 19:15

non, ce n'est pas bon ;)

ton objet ajax va lancer la fonction sucess après avoir récupérer le contenue de la page chat/chat.html

Donc il te faut faire le test à ce moment là :

[javascript]
function refreshChat() {
$.ajax({
url: "chat/chat.html",
ifModified:true,
success: function(content){
if($('#room').html() != content) {
alert('du nouveau') ;
$('#room').html(content);
}
}
});
setTimeout(refreshChat, 5000);
}
[/javascript]

par contre, en le relisant, je ne suis pas certain que la condition soit nécessaire vu la propriété ifModified, mais n'utilisant pas jQuery, je ne suis pas sur de son utilisation ;)

Re: Emettre un son sur Messagerie

par Michel6359 » 04 janv. 2013, 19:03

Bonjour

Non puisque que le son fonctionner , excuse moi , c’est bon comme ça l'emplacement du code. Merci

Code : Tout sélectionner

/** * Un mini-Chat en jQuery/Php * par Jay Salvat - http://blog.jaysalvat.com/ */ $(function() { $('#chat form').submit(function() { var user = $('#chat input[name=user]').val(); var message = $('#chat input[name=message]').val(); $.post('chat/chat.php', { 'user':user, 'message':message }, function() { refreshChat(); }); $('#chat input[name=message]').val(''); return false; }); function refreshChat() { $.ajax({ url: "chat/chat.html", if($('#room').html() != content) { alert('du nouveau') ; $('#room').html(content); } } }); } refreshChat(); });

Re: Emettre un son sur Messagerie

par Nours312 » 04 janv. 2013, 18:55

Salut:
as tu testé le code que je t'ai donné dans mon second post ?

[javascript]
if($('#room').html() != content) {
alert('du nouveau') ;
$('#room').html(content);
}[/javascript]

et qu'est-ce que ça donne ?

Re: Emettre un son sur Messagerie

par Michel6359 » 04 janv. 2013, 18:47

RE comment je peux faire un flag ? SVP

Merci

Re: Emettre un son sur Messagerie

par Michel6359 » 04 janv. 2013, 14:17

RE

Bon sa se complique alors , j'en serai pas capable , je connais a peine le HTML , j'ai réussi ce chat grâce à l'exemple code source , j'ai regardé sur google web socket mais je ne vois pas comment faire. #-o

Merci pour votre aide.

Re: Emettre un son sur Messagerie

par moogli » 04 janv. 2013, 12:53

si tu veux une diffusion (plus ou moins instantanée) du serveur vers les clients, regarde du coté des web socket, c'est p'tet le plus simple.

sinon il faut que tu ai, quelque part, un flag pour indiqué que l'utilisateur n'a pas lu le message.
donc un rafraîchissement auto du cadre qui contient les message et si le nouveau est différente de l'ancien active le son ;) (en gros si le html() est différent du html que tu as reconstruit au rafraichissement).

@+

Re: Emettre un son sur Messagerie

par Michel6359 » 04 janv. 2013, 11:00

Bonjour

J'ai parlé un peu trop vite #-o , encore un petit souci , la page ne se réactualise pas lors d'un message posté pour les autres personnes , en faites la messagerie avec le son ne se fait que sur le PC de celui qui envois le message et non les autres , donc quand on envois un message la personne n'est pas prévenu par le son et la messagerie n'est pas actualiser qu'un message a été posté.


Merci pour votre aide.

Re: Emettre un son sur Messagerie

par Michel6359 » 03 janv. 2013, 21:27

Bonsoir , Merci pour vos réponses !

J'ai trouvé le problème grâce à vous , il fallait ajouter ceci : document.getElementById('notification').play();

J'ai retiré le rafraîchissement toute les 5 secondes , pour que le son soit seulement quand un message est posté.

Encore un grand merci pour votre aide !!! =D> :D