bonjour à tous, j'ai suivit à la lettre un des tutos de grafikart:
.
(j'y ai apporté quelques petites modifications pour mon tchat)

mais voilà pour le setInterval, pas moyen que ma page se rafraîchisse toute seule:
ma page de connexion au tchat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
<div id="conteneur">
    <h1>tchat</h1>
    <?php if(isset($erreur)){echo "<p>".$erreur."</p>";} ?>
    <form action="" method="post">
        votre pseudo: <input type="text" name="pseudo" value="<?php echo $_SESSION["data"]["membreIdentifiant"];?>">
        <input type="submit" value="tchater"/>
 
    </form>
 
</div>
ma page arrivé au tchat:
Code : 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
 
<div style="width:94%;margin-bottom: 200px;">
    <h3>vous êtes connecté en tant que : <?php echo $membreidentifiant1;?></h3>
    <div id="connected">
 
    </div>
    <div id="tchat">
 
        <?php
        $tchat=$bdd->prepare("SELECT messagetchat.messageTchattext,messagetchat.messageTchatPseudo,messagetchat.messageTchatDate FROM messagetchat,membre WHERE messagetchat.membreId=membre.membreId ORDER BY messageTchatDate DESC Limit 15 ");
        $tchatResult=$tchat->execute([$membreidentifiant1]);
        $d=array();
        while ($data=$tchat->fetch(PDO::FETCH_ASSOC)) {
            $d[] = $data;
        }
        for($i=count($d)-1;$i>=0;$i--){
            ?>
        <p><strong><?php echo $d[$i]["messageTchatPseudo"];?></strong>(<?php echo date("d/m/Y H:i:s",$d[$i]["messageTchatDate"]);?>) : <?php echo htmlentities($d[$i]["messageTchattext"]); ?></p>
        <?php
        }
        ?>
 
    </div>
</div>
<div id="tchatForm" class="" style="position: fixed;bottom: 0;width: 100%;">
    <form  class="" action="#" method="post">
        <div>
        </div>
        <div class="textareaTchat">
            <textarea name="messageTchattext" style="width: 80%;"></textarea>
        </div>
        <div style="margin-top:-20px;float: right;margin-right:250px">
            <input type="submit" value="envoyer"/>
        </div>
        <div class="deconnectionTchat">
            <a href="script/deconnexion_sc_Tchat.php">Déconnection</a>
        </div>
    </form>
 
</div>
tchat.js:
Code : 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
78
79
80
81
82
83
84
85
 
/**
 * Created by cristelle on 12-05-15.
 */
var url="tchatAjax.php";
var lastId=0;
var timer = setInterval(getMessages(),3000);
 
var ctimer = setInterval(getConnected,10000);
 
//selection du formulaire
$(function(){
    getConnected();
    $("#tchatForm form").submit(function(){
        clearInterval(timer);
        showLoader('#tchatForm');
        var message = $("#tchatForm form textarea").val();
        $.post(url,{action:"addMessage",messageTchattext:message},function(data){
 
 
            if(data.erreur=='ok'){
                getMessages();
                $("#tchatForm form textarea").val("");
            }else{
 
                alert(data.erreur);
            }
            timer = setInterval(getMessages,3000);
            hideLoader();
 
        },'json');
        return false;
    })
});
 
function getMessages(){
    $.post(url,{action:"getMessages",lastId:lastId},function(data){
        if(data.erreur=='ok'){
             $("#tchat").append(data.result);
            lastId=data.lastId;
        }else{
 
            alert(data.erreur);
        }
 
 
    },'json');
    return false;
 
}
function getConnected(){
    $.post(url,{action:"getConnected"},function(data){
        if(data.erreur=='ok'){
             $("#connected").empty().append(data.result);
        }else{
 
            alert(data.erreur);
        }
 
    },'json');
    return false;
 
}
 
 
 
 
 
 
 
 
 
 
 
//le loader
function showLoader(div){
$(div).append('<div class="loader loader-quart"></div>');
    $(".loader").fadeTo(500,0.6);
}
//cacher le loader
function hideLoader(){
    $(".loader").fadeOut(500,function(){
        $(".loader").remove();
    });
}
et tchatAjax.js:
Code : 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
78
79
80
81
82
83
 
<?php
session_start();
 
/**
 * Created by PhpStorm.
 * User: cristelle
 * Date: 12-05-15
 * Time: 17:23
 */
require ("bdd/bdd_biBelgium.php");
$d=array();
$membre=$_SESSION["data"]["membreIdentifiant"];
 
if(!isset($membre) || empty($membre) || !isset($_POST["action"])){
        $d["erreur"]="vous devez être connecté pour tchater";
}else{
    extract($_POST);
    $pseudo= $membre;
 
    /**
     * action addMessage
     * permet l'ajout d'un message
     */
if($_POST["action"]=="addMessage"){
    $messageTchattext=$bdd->quote($messageTchattext);
 
    $selectId=$bdd->prepare("SELECT membreId FROM membre WHERE membreIdentifiant=?");
    $requete=$selectId->execute([$membre]);
    $row=$selectId->fetch();
    $membreId=$row[0];
 
    $insertionBddMessage=$bdd->prepare("INSERT INTO messagetchat(messageTchatPseudo,messageTchatDate,messageTchattext,membreId) VALUES (?,?,?,?)");
    $requeteInsertion = $insertionBddMessage->execute(array($pseudo,time(),$messageTchattext,$membreId));
 
    $d["erreur"]='ok';
}
    /**
     * action getMessages
     * permet l'affichage des derniers messages
     */
    if($_POST["action"]=="getMessages"){
        $lastId=floor($lastId);
 
        $selectionBddMessage=$bdd->prepare("SELECT * FROM messagetchat WHERE idMessageTchat>$lastId ORDER BY messageTchatDate ASC");
        $requeteInsertion = $selectionBddMessage->execute();
        $d["result"]="";
        $d["lastId"]=$lastId;
        while($r=$selectionBddMessage->fetch(PDO::FETCH_ASSOC)){
            $d["result"].='<p><strong>' .$data["messageTchatPseudo"]. '</strong>('.date("d/m/Y H:i:s",$data["messageTchatDate"]).'):' .htmlentities($data["messageTchattext"]). '</p>';
            $d["lastId"]=$data["idMessageTchat"];
}
 
        $d["erreur"]='ok';
    }
    /**
     * action getConnected
     * permet affichage dernier connecté
     */
    if($_POST["action"]=="getConnected") {
        $now=time();
        $idTcha=$_SESSION['data']['idTchat'];
 
        $sql=$bdd->prepare("SELECT connectedPseudo FROM connected WHERE $now-connectedDate>60");
        $result=$sql->execute();
        $d["result"]="connecté : ";
        while($data=$sql->fetch(PDO::FETCH_ASSOC)){
            $d["result"].= $data["connectedPseudo"].",";
        }
        $d["result"]=substr($d["result"],0,-1);//enlève le "," s'il n'y a qu'un membre
 
        $sql=$bdd->prepare("UPDATE connected SET connectedDate=:connectedDate,idConnected=:idConnected WHERE connectPseudo=:connectPseudo ");
        $sql->bindParam(':connectedDate',$now);
        $sql->bindParam(':idConnected',$idTcha);
        $sql->bindParam(':connectPseudo',$data["connectedPseudo"]);
        $sql->execute(array(':connectedDate'=>$now,':idConnected'=>$now,':connectPseudo'=>$data["connectedPseudo"]));
 
        $d["erreur"]='ok';
    }
 
}
echo json_encode($d);
?>
je ne comprend pas pourquoi, dans le tuto, cela fonctionne et chez moi pas, pourriez-vous m'aider svp?
merci