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] Avec xAjax


Sujet :

AJAX

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 3
    Par défaut [AJAX] Avec xAjax
    Bonjour bonjour

    Voila j'essaye de faire un t'chat pour un site mais j'ai un petit soucis dans le codage, j'ai découvert la technologie xAjax récemment mais elle me pose quelque petit soucis notamment dans l’appelle de fonction PHP dans un script JS

    Dans le code si dessous a la fonction refresh() ligne 54, l'appelle a la fonction quand viens l'appel a la fonction xajax_afficher() rien ne se passe et la boucle continue.

    Si vous pouvez m'aider je suis un peut bloquer la ^^
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    <?php 
    /************************************************/// Fonction Actu	
    function afficher()
    {
    	echo "1 ";
    	try	{$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', 'root');}
    	catch(Exception $e)	{die('Erreur : '.$e->getMessage());	}
     
    	$rep=new xajaxResponse();
    	$chat = "<table>";
    	echo "1 ";
    	$reponse = $bdd->query('SELECT * FROM chat');		
    	// On affiche chaque entrée une à une
    	while ($donnees = $reponse->fetch())		
    		$chat .= ("<tr><td>" . $donnees['name']. " : </td><td> " . $donnees['msg'] . "</td></tr>");			
    	$reponse->closeCursor(); // Termine le traitement de la requête
    	echo $chat . "</table>";
    	$rep->assign('divchat', 'innerHTML', $chat);
            return $reponse;
    }
     
    function envoyer($posteur, $message)
    {
    	$reponse = new xajaxResponse();
    	try	{$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', 'root');}
    	catch(Exception $e)	{	die('Erreur : '.$e->getMessage());}
    	// Insertion du message à l'aide d'une requête préparée
    	$req = $bdd->prepare('INSERT INTO chat (name, msg) VALUES(?,?)');
    	$req->execute(array($posteur, $message));
    	$reponse->clear('message', 'value');
    	$reponse->call('xajax_afficher');
    	return $reponse;
    }
    /************************************************/// Lancemenet AJAX
    require_once('./xajax_core/xajax.inc.php'); 
    $xajax = new xajax();
    $xajax->register(XAJAX_FUNCTION, 'afficher');
    $xajax->register(XAJAX_FUNCTION, 'envoyer');
    $xajax->processRequest();
    ?>
     
    <!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">
     
    <head>
    	<link rel="shortcut icon" type="image/x-icon" href="images/favicon.ico" />
    	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
    	<!-- <link href="style.css" media="all" rel="stylesheet" type="text/css" /> -->
    	<SCRIPT LANGUAGE="Javascript" SRC="js/jquery.js"> </SCRIPT>
       <script type="text/javascript">
                    function refresh()// Code javascript qui va appeler la fonction afficher toutes les 5 secondes.
                    {
                            xajax_afficher();
                            setTimeout(refresh, 5000);
                    }
        </script>
    	<?php $xajax->printJavascript();  ?>
    </head>
     
        <body  >
           <div id="divchat" style="margin:auto; height:300px; width:50%; overflow:auto"> 
                          <?php afficher();?></div>
                    <form action="">
                            <fieldset>
                             <legend>Entrer ici votre message :</legend>
                             <div style="margin:auto">
                              <label>Nom : <input type="text" size="15" id="posteur" /></label>
                              <label>Message : <input type="text" size="50" id="message" /></label>
                              <input type="submit" value="Envoyer" onclick="xajax_envoyer(document.getElementById('posteur').value, document.getElementById('message').value); return false;" />
                             </div>
                            </fieldset>
                    </form>
                    <script type="text/javascript">
                            refresh();//On appelle la fonction refresh() pour lancer le script.
                    </script>
        </body>
    </html>

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour et bienvenue sur DVP.
    (...)onction quand viens l'appel a la fonction xajax_afficher() rien ne se passe et la boucle continue.
    qu'est ce que tu attends en réalité, ne devrais tu pas plutôt lancer ton setTimeout une fois le retour effectif?

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 3
    Par défaut
    La fonction xajax-afficher me permet de récupérer les message contenu dans la base donnée, et la fonction refresh permet de la lancer toute les 3secondes

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Ca on l'a bien compris, mais qu'y a t-il dans ta fonction xajax-afficher.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 3
    Par défaut
    La fonction xajax_afficher fait appelle a la fonction PHP xajax défini grave à "$xajax->register(XAJAX_FUNCTION, 'afficher');" ligne 37.

    La fonction afficher se connecte a la base de donnée, récupère le contenu de la table tchat, la met en forme et l'affiche.

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    (...)la met en forme et l'affiche.
    visiblement pas plus que cela, peut être pas au bon endroit.

Discussions similaires

  1. Réponses: 0
    Dernier message: 15/03/2011, 18h25
  2. [AJAX] [Xajax] Message d'erreur avec XAJAX
    Par annekeuss dans le forum AJAX
    Réponses: 10
    Dernier message: 17/05/2010, 01h21
  3. [AJAX] [Xajax] Upload avec Xajax et SwfUpload
    Par jylac dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 11/09/2008, 22h57
  4. [AJAX] [Xajax] checkbox avec xajax
    Par cflo91 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/03/2008, 16h27
  5. [Prototype] Ajax avec paramètres
    Par Tail dans le forum Bibliothèques & Frameworks
    Réponses: 5
    Dernier message: 05/01/2006, 17h16

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