Récupérer une variable GET via un div refresh
Résolu
Speecial
Messages postés
26
Date d'inscription
Statut
Membre
Dernière intervention
-
Speecial Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
Speecial Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je viens vous demander conseil, je code pour passer le temps un tchat multi salons avec la possibilité de créer ou pas le notre.
Mon soucis est ... l'index du salon récupère bien l'id qui se trouve dans l'url, mais les deux autres fichiers inclus via un div qui se refresh en jquery (messages_salons.php et chat_list.php) ne peuvent récupérer l'id dans l'url, avez vous une idée pour moi SVP ou une autre manière de procéder ?
Pour info je code en php mysql, certes vous me direz que jquery ne fera pas l'affaire pour un tchat multi salons, je le sais mais c'est aussi mon petit kiff de faire un beau ptit site de tchat lors de mon temps libre.
Merci pour vos futures réponses :)
Je viens vous demander conseil, je code pour passer le temps un tchat multi salons avec la possibilité de créer ou pas le notre.
Mon soucis est ... l'index du salon récupère bien l'id qui se trouve dans l'url, mais les deux autres fichiers inclus via un div qui se refresh en jquery (messages_salons.php et chat_list.php) ne peuvent récupérer l'id dans l'url, avez vous une idée pour moi SVP ou une autre manière de procéder ?
Pour info je code en php mysql, certes vous me direz que jquery ne fera pas l'affaire pour un tchat multi salons, je le sais mais c'est aussi mon petit kiff de faire un beau ptit site de tchat lors de mon temps libre.
Merci pour vos futures réponses :)
A voir également:
- Récupérer une variable GET via un div refresh
- Comment recuperer un message supprimé sur whatsapp - Guide
- Comment récupérer un compte facebook piraté - Guide
- Comment recuperer une video sur youtube - Guide
- Récupérer mon compte facebook désactivé - Guide
- Get data back - Télécharger - Récupération de données
5 réponses
Salut,
en GET tu peut simplement écrire l'url, si avec JavaScript c'est avec window location , avec php il y a la fonction header().
Quand tu parle de JQuery je suppose que tu te référè à AJAX? Si c'est ça il s'agit des métadonnées, donc le contenu du XML ou JSON (csv, etc...), il faudrait envoyer ta/tes variables GET dedans.
JQuery c'est du JavaScript donc tu peut très bien utiliser header.location.url pour avoir la chaîne de caractères (ou header.location qui retourne un objet).
en GET tu peut simplement écrire l'url, si avec JavaScript c'est avec window location , avec php il y a la fonction header().
Quand tu parle de JQuery je suppose que tu te référè à AJAX? Si c'est ça il s'agit des métadonnées, donc le contenu du XML ou JSON (csv, etc...), il faudrait envoyer ta/tes variables GET dedans.
JQuery c'est du JavaScript donc tu peut très bien utiliser header.location.url pour avoir la chaîne de caractères (ou header.location qui retourne un objet).
Bonjour
Sans voir ton code....impossible de te répondre.
Nb: pour poster ton code merci d'appliquer ceci :https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Sans voir ton code....impossible de te répondre.
Nb: pour poster ton code merci d'appliquer ceci :https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Salut merci de ta réactivité :) je vais d'abbors te passer le code js qui permet de charger les deux divs
Ensuite le code qui permet d'afficher les connectés du salon
window.onload = actualisation(); function refresh(forceScroll){ $.get('messages_salons.php', function(data){ var element = $('#mess'); var onBottom = (element.scrollTop == element.scrollHeight) $('#mess').html(data); if (onBottom || this.forceScroll) element.scrollTop = element.scrollHeight; //setTimeout('refresh()', 6000); }); } function loadEventHandler(){ refresh(true); document.getElementById('texte').focus(); }; function changeColorBBcode(){ var e = document.getElementById("color"); var f = e.options[e.selectedIndex].value; bbcode('[color='+f+']', '[/color]');return(false) } function actualisation() { $.get("chat_list.php", function (result) { $('#ladiv_des_co').html(result); }); } $(document).ready(function () { setInterval(function() { actualisation(); }, 10000); setInterval(function() { refresh(); }, 6000); });
Ensuite le code qui permet d'afficher les connectés du salon
<div style='overflow:auto;height:490px;direction:rtl;'> <div style='direction:ltr;'> <?php include './config.php'; $req = $bdd->prepare('SELECT m.pseudo AS pseudo, m.avatar AS avatar, m.rang AS rang, m.sexe AS sexe, m.cle_salon AS cle_salon, m.age AS age, c.url_actuelle AS url_actuelle, m.id AS id FROM connectes c LEFT JOIN membres m ON c.id = m.id ORDER BY m.rang DESC'); $req->execute(); echo (''.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].''); echo "<table border='0' width='100%'>"; while ($d = $req->fetch(PDO::FETCH_OBJ)) { $sql = $bdd->prepare('SELECT * FROM `liste_salons` WHERE id_joueur = ?'); $sql->execute(array($d->id)); $addon_j = $sql->fetch(); $sql->closeCursor(); if(!$addon_j){ $addon_j['rang'] = "<img style='margin-bottom:-4px;' src='./img/heart_red.png' title='Modérateur'/>"; } else { // $addon_j['rang'] = "<img style='margin-bottom:-4px;' src='./img/grade_blue.png' title='Modérateur'/>"; } //echo $addon_j['cle_salon']; // if($addon_j['cle_salon'] == $d->cle_salon) if($d->rang == 2) { $d->rang = "<img style='margin-bottom:-4px;' src='./img/grade_1_franchise.png' title='Modérateur'/>"; } elseif ($d->rang == 1) { $d->rang = "<img style='margin-bottom:-4px;' src='./img/grade_0_franchise.png' title='Membre'/>"; } elseif ($d->rang == 3) { $d->rang = "<img style='margin-bottom:-4px;' src='./img/grade_2_franchise.png' title='Administrateur'/>"; } elseif ($d->rang == 0) { $d->rang = "<img style='margin-bottom:-4px;' src='./img/img_dev.png' title='Développeur'/>"; } elseif ($d->rang == 4) { $d->rang = "<img style='margin-bottom:-4px;' src='./img/img_sup.png' title='Superviseur'/>"; } $urlMembre = $d->url_actuelle; $urlMembre = explode('/', $urlMembre); if ($urlMembre[3] == "messages_salons.php" OR $urlMembre[3] == "chat_list.php" OR $urlMembre[3] == "room.php") { /* <a title="Visiter le profil" href="profil.php?id='. $d->id .'" target="_blank"><font color="#677179"><strong>' . $d->pseudo . '</strong></font></a>'; */ echo "<tr>"; echo "<td width='25px'>"; echo $d->rang; // echo $d->cle_salon; echo "</td>"; echo "<td valign='middle' width='24px'>"; if($d->sexe == "h"){ echo "<div style='line-height:15px;border-radius:15px;' align='center' class='h'> ".$d->age." </div> "; } elseif($d->sexe == "f") { echo "<div style='line-height:15px;border-radius:15px;' align='center' class='f'> ".$d->age." </div> "; } echo "</td>"; echo "<td> "; echo " ".$d->pseudo."".$addon_j['rang']; echo "</td>"; echo "</tr>"; } } echo "</table>"; ?> </div><!--fin du div remettre les infos du div dans le bon sens--> </div><!--fin du div scrollable + reverse scrollbar-->
Bonjour, comment ça je n'envoi aucunes variables ?
Le traitement des messages que je rentre dans la bdd se fait en php.
Le traitement des messages que je rentre dans la bdd se fait en php.
Ta question concerne
Dans tes codes JS qui vont chercher les informations dans tes fichiers PHP, tu les appelles comme ceci :
Dans aucune de ces deux fonctions tu ne passes de variables contenant l' ID tant désiré.....
Il faut donc transmettre la variable comme je te l'ai montré dans mon exemple :
Où, bien entendu, variable=truc est à remplacer par : id=lavaleurdetonid
Mon soucis est ... l'index du salon récupère bien l'id qui se trouve dans l'url, mais les deux autres fichiers inclus via un div qui se refresh en jquery (messages_salons.php et chat_list.php) ne peuvent récupérer l'id dans l'url, avez vous une idée pour moi SVP ou une autre manière de procéder ?
Dans tes codes JS qui vont chercher les informations dans tes fichiers PHP, tu les appelles comme ceci :
function actualisation() { $.get("chat_list.php", function (result) { $('#ladiv_des_co').html(result); }); }
function refresh(forceScroll){ $.get('messages_salons.php', function(data){ var element = $('#mess'); var onBottom = (element.scrollTop == element.scrollHeight) $('#mess').html(data); if (onBottom || this.forceScroll) element.scrollTop = element.scrollHeight; //setTimeout('refresh()', 6000); }); }
Dans aucune de ces deux fonctions tu ne passes de variables contenant l' ID tant désiré.....
Il faut donc transmettre la variable comme je te l'ai montré dans mon exemple :
$.get('fichierphp.php', 'variable=truc', function(data) { ... });
Où, bien entendu, variable=truc est à remplacer par : id=lavaleurdetonid
Donc ma variable qui est dans l'url je l'utilise comme ça ?
var name = $_GET('s'),
sid = $_GET('s');
s=sid ?
Cdlt :)
var name = $_GET('s'),
sid = $_GET('s');
s=sid ?
Cdlt :)
dans le javascript
Ou sinon via une fonction js comme par exemple
var sid = '<?php echo $_GET['s']; ?>';
Ou sinon via une fonction js comme par exemple
function getUrlParameter(name) { name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]'); var regex = new RegExp('[\\?&]' + name + '=([^]*)'); var results = regex.exec(location.search); return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' ')); }; var sid = getUrlParameter('s');
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En effet je refresh bien avec de L'AJAX
et mon index de tchat est room.php?s= l'id du salon
Merci de ta réponse :)
Je faisait ça au début, c'est pratique mais pas terrible côté sécurité. Par contre accessible par PHP $GET ou en obtenant l'url par JS.
J'espère pas répondre trop à côté bon courage.