IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Comment intégrer votre mini-chat dans mon site


Sujet :

AJAX

  1. #1
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 122
    Points : 83
    Points
    83
    Par défaut [AJAX] Comment intégrer votre mini-chat dans mon site
    Référence du mini-chat
    http://ajax.developpez.com/tutoriels...ajax-en-clair/

    J'ai lu votre article AJAX, cependant, je n'ai pas besoin de login, étant donné que mes utilisateurs doivent s'identifier pour avoir accès au site Internet.
    Que dois-je modifier dans votre code pour que les utilisateurs soient automatiquement authentifiés.

    Je garde les informations importantes dans des variables de SESSION.

    Merci
    Sylvain

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Voilà une bonne occasion de compléter cet article en l'intégrant dans un web ayant son login !

    En effet tu l'avais remarqué, le seul endroit ou intervient le pseudo est le PHP appelé par AJAX.

    ajax_tchat_pdo.php

    Cela t'ouvres deux pistes,

    1) dans ton login a toi, tu mets a chaque nouvel inscrit
    ses renseignements dans la table ajax_tchat_user comme cela tu es tranquille !

    Admettons que dans ton login tu as $_SESSION['LePseudo'], alors au moment où il se logue sur ton web tu as surement un genre

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $_SESSION['LePseudo']=$pseu_saisi;
    //=====Alors, ajoute de suite
    $_SESSION['pseudo']=$_SESSION['LePseudo'];

    Il faut également lui attribue un avatar ...

    Dis-moi si cette piste te va

    2) autre solution, tu modifies ajax_tchat_pdo.php
    en y remplaçant ta table user à la place de la mienne.
    Il te suffira d'y ajouter le champ avatar et timestamp !

    Bon courage et A++
    Christele
    Dernière modification par Bovino ; 04/04/2013 à 08h30. Motif: Merci d'indiquer le langage utilisé ([code=xxx]) !

  3. #3
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 122
    Points : 83
    Points
    83
    Par défaut
    Bonjour Christele,

    En ce qui concerne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $_SESSION['LePseudo']=$pseu_saisi;
    //=====Alors, ajoute de suite
    $_SESSION['pseudo']=$_SESSION['LePseudo'];
    Cette portion je l'avais compris.

    Avec tes explications, ce que j'ai compris c'est que je vais modifié le code, afin que celui-ci prenne l'information dans ma table usagers de mon site Internet.

    Pour un avatar, chaque usager doit avoir obligatoirement une photo de lui ou de elle dans son profil, donc l'avatar sera cette photo.

    Comme tu me le suggère, je vais ajouter un champ timestamp.

    Dis-moi si cette piste te va
    Oui cette piste me convient. Je te remercie beaucoup.

    Est-ce que vous me permettez, une fois les modifications terminés de revenir sur ce sujet et de mettre mes changements avec des explications ?

    Ceci permettra peut-être d'aider d'autres personnes.

    Merci
    Sylvain

  4. #4
    Invité
    Invité(e)
    Par défaut
    Whaou ce serait un beau cadeau pour la rédaction !
    Merci d'avance a toi , et je vois que tu as bien intégré
    mon code, chapeau !

    Donc dans ajax_tchat_pdo.php tu gère dans ta table le timestamp. Tu as vu que je gérais cela dans un int tout simple !

    Pour l'avatar ce sera donc simple, donc a bientôt pour des nouvelles.

    Christele

  5. #5
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 122
    Points : 83
    Points
    83
    Par défaut
    Bonjour à tous,

    Voici tel que promis, les changements que j'ai effectué dans le mini-chat.

    La première chose à faire est d'éditer le fichier ajax_sql.

    A la ligne 7
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $bdd = new PDO('mysql:host=localhost;dbname=jplyne', 'root', '');

    Remplacer par vos informations vous permettant de vous connectez à votre base de données.
    dbname est votre base de données, ensuite votre nom d'utilisateur et votre mot de passe.

    Ayant mes utilisateurs sur mon site internet, ce que j'ai décidé de faire c'est d'utilisé ma table plutôt que celle fourni avec le mini-chat.

    J'ai ajouté un champ date qui est un simple INT.

    Ensuite le fichier ajax_tchat_pdo.php

    A la ligne 18
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $result = $bdd->prepare("SELECT * FROM ajax_tchat_user WHERE :Lenow -date <60 ");

    J'ai remplacé par ma propre table qui se nomme usagers, et au lieu de demander toutes les informations *, je demande seulement le nickname.
    Cette requête vous permet d'avoir la liste des usagers connectés à votre chat.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $result = $bdd->prepare("SELECT nickname FROM usagers WHERE :Lenow -date <60 ");

    A la ligne 21
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    {  $liste .= $row['pseudo'].", ";  }

    Remplacé par le pseudo par votre champ qui contient le nom de votre usager dans votre base de données.
    En ce qui me concerne elle devient ceci :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    {  $liste .= $row['nickname'].", ";  }

    A la ligne 24, même chose pour la ligne 34 et à la ligne 50
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $result = $bdd->prepare("UPDATE ajax_tchat_user SET date = :Lenow WHERE id = :Avat");

    Simplement changer le nom de votre table contenant vos usagers
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $result = $bdd->prepare("UPDATE usagers SET date = :Lenow WHERE id = :Avat");

    La ligne 29 et 39, ne doit subir aucun changement, ce sont les messages échangés sur le chat qui sont insérés dans la table de votre base de données.

    La ligne 44, est celle qui détermine l'avatar de votre utilisateur, le principe utilisé est fort simple, l'image débute par tchat1000 suivi de l'ID de votre utilisateur.
    Donc si l'ID est 542, l'image sera tchat1000542.jpg.
    Moi je l'ai mis en commentaire.

    De mon coté, les utilisateurs doivent obligatoirement avoir une photo d'eux pour être accepté sur le site, donc c'est cette image qui va nous servir d'avatar.
    J'ai modifié la ligne 46, au niveau de la balise html img
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <img vspace=8 src='ajax/tchat".$lim.".jpg' align=left alt='' width='31px' />

    J'ai apporté la modification suivante
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <img vspace='6' src='../images/".$row['pseudoid'].".jpg' align=left alt='".$_SESSION['u_prenom']."' width='31px' valign='bottom' />

    Le $row[pseudoid], provient de la table ajax_tchat_messages. C'est l'ID de votre utilisateur ayant saisi un message sur votre chat. Au alt, j'ai dans une variable de $_SESSION le prénom de mon utilisateur. Si une image est absente, son prénom sera inscrit à la place.


    Dans votre fichier ou vos utilisateurs s'identifie à votre site Internet, il est important d'y faire les ajouts suivants ou modifications selon le cas.
    Pour ma part, c'est mon fichier index.php situé à la racine de mon site.

    J'ai attribué des valeurs à des variables de $_SESSION utilisés dans le chat
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $_SESSION['pseudo'] = $row_info['nickname'];
    $_SESSION['ActuPseudoID'] = $row_info['ID'];

    C'est le surnom de l'usager ainsi que son ID que j'envoi dans les variables de $_SESSION. Il est important de vous assurez que vos requêtes sont fait de façon sécuritaire pour aller chercher votre nom d'usager et le mot de passe fourni lors de l'authentification.

    Pour ma part, le fichier ajax,php n'est pas nécessaire, j'ai donc mis un lien dans mon menu comme ceci pour avoir accès au mini chat :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <A href="ajax_tchat_page.php" >Accés au chat</a>

    Étant donné que je déclare deux variables de $_SESSION dans mon login, et bien les variables de SESSION seront trouvés et utilisés dans le fichier.

    Voila, en espérant ne rien avoir oublié. Si vous avez des questions ou des commentaires, n'hésitez pas.

    Et un GROS MERCI à Christele pour ce mini chat, qui est facile à intégrer, et simple à utiliser.

    Sylvain

  6. #6
    Invité
    Invité(e)
    Par défaut
    Whaou !!
    Mille mercis pour ta contribution, il faudra surement en faire quelque chose,
    en tout cas le lien de cette discussion figurera dans nos éventuelles réponses
    sur ce point.

    Voilà qui s'appelle de la participation !

    A très bientôt
    Christele

  7. #7
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 122
    Points : 83
    Points
    83
    Par défaut
    Si j'ai pu rendre service aux autres personnes du forum, ou aidez d'une certain façon, et bien j'en suis heureux.

    Ca m'a fait plaisir.

    Sylvain

  8. #8
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 122
    Points : 83
    Points
    83
    Par défaut
    Je me suis fais demandé quelque chose par un des utilisateurs du mini-chat, et je dois dire que je ne sais trop comment m'y prendre.

    Simplement un petit son quand une nouvelle entrée dans le mini-chat. Autrement dit sur l'action Ajout, un son est émit.

    Merci
    Sylvain

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    C' est impossible, pourtant cela parait simple ...

    Essais d'y penser le serveur ne connait jamais (et on le comprends facilement),
    qui est concerné par un nouveau message !

    A qui des connectés j'ais déjà envoyé le ding et y a t'il eu encore un nouveau message entre temps ? n'oublies pas que le serveur est totalement séparé des utilisateurs !

    A++
    Christele

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Joomla!] Comment garder mes anciens liens dans mon site
    Par developper2006 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 02/01/2011, 15h53
  2. Réponses: 3
    Dernier message: 14/03/2010, 21h23
  3. Comment faire fonctionner ce script dans mon site ?
    Par beegees dans le forum jQuery
    Réponses: 4
    Dernier message: 02/01/2010, 23h01
  4. Intégrer des FLUX RSS dans mon site
    Par stanley dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 11/01/2007, 19h53
  5. [MySQL] Comment créer une sous catégorie dans mon site ?
    Par plex dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 18/08/2006, 09h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo