Bonjour a tous j'ai une discussion instantané mais j'arrive pas a envoyer a la base de donne le destinataire
J'ai 4 page = index.php , recup_msg.php , envoie_msg , chat.js .
La page recup_msg = affiche les msg de la BDD.
La page index.php = affiche et envoie les msg a la base de donne .
La page chat.js se charge de faire tous se travaille .
voila mon code .
Page index :
<?php
include('body/header.php');
$get_pseudo = $_GET'pseudo'];
if(isset($_GET'pseudo']) && !empty($_GET'pseudo']))
{
?>
<div class='chat'>
<div class='messages'></div>
<textarea class='entree' placeholder="Veuillez saisir votre texte ici (Shift+Entrée pour un saut de ligne)"></textarea>
</div>
<?php
}else{
header("Location:index");
}
?>
<?php
include('body/footer.php');
?>
Page recup_msg
<?php
$affiche_query = mysql_query("SELECT id_membre FROM messages_test");
$row_user = mysql_fetch_array($affiche_query);
$from_user_one = $row_user'id_membre'];
$query = mysql_query("
SELECT
messages_test.id_membre,
messages_test.message_membre,
utilisateurs.id_membre,
utilisateurs.pseudo
FROM messages_test
INNER JOIN utilisateurs ON utilisateurs.id_membre = messages_test.id_membre
ORDER BY temps ASC
") or die (mysql_error());
$messages = array();
while($rows = mysql_fetch_assoc($query))
{
$messages] = $rows;
}
foreach($messages as $message)
{
?>
<a href='#'><?php echo $message'pseudo'];?></a>
<p><?php echo nl2br($message'message_membre']);?></p>
<?php
}
?>
Page envoie_msg :
<?php
$messages = trim(htmlentities(mysql_real_escape_string($_POST'messages'])));
$membre = trim(htmlentities(mysql_real_escape_string($_POST'membre'])));
$pseudo = $_SESSION'pseudo'];
$select_pseudo_id = mysql_query("SELECT id_membre,pseudo FROM utilisateurs WHERE pseudo='$pseudo'");
$run_pseudo_id = mysql_fetch_array($select_pseudo_id);
$select_pseudo_exp = $run_pseudo_id'id_membre'];
// $select_pseudo_id_dest = mysql_query("SELECT id_membre,pseudo FROM utilisateurs WHERE pseudo='$get_pseudo'");
// $run_pseudo_id_dest = mysql_fetch_array($select_pseudo_id_dest);
// $select_pseudo_dest = $run_pseudo_id_dest'id_membre'];
$query = mysql_query("
INSERT INTO messages_test (id_membre,id_membre_dest,message_membre) VALUES ('$select_pseudo_exp','$membre','{$messages}')
") or die (mysql_error());
?>
Page chat.js
//la function qui va recuperer les info de la base de donne
function recup_msg()
{
$.post('index.php?page=recup_msg',function(data){
$('.chat .messages').html(data);
});
}
setInterval(recup_msg,2000);
recup_msg();
//la function qui va envoyer les donne vers la base de donne
function envoi_msg()
{
$('.chat .entree').keyup(function(e){
var messages = $('.chat .entree').val();
messages = $.trim(messages);
var membre = "<?php echo $get_pseudo;?>";
membre = $.trim(membre);
if(messages !== "" && e.keyCode === 13 && e.shiftKey === false)
{
$.post('index.php?page=envoie_msg',{messages:messages},function(){
recup_msg();
$('.chat .entree').val('');
});
}
});
}
envoi_msg();
Voila je voudrai juste comment envoyer a la page le GET'pseudo'] de la page index : index.php?page=chat&pseudo=user.
Merci a vous et bonne journé
TU mets du php dans ton js ... a moins de générer le js dynamiquement a chaque requête http (ce qu'il ne faut pas faire !!!!) tu ne peux pas faire ca.
Voici une solution:
Index.php:
<div class='chat'>
<div class='messages'></div>
<textarea class='entree' placeholder="Veuillez saisir votre texte ici (Shift+Entrée pour un saut de ligne)"></textarea>
<input id="pseudo" type="hidden" value=" <?php echo $get_pseudo;?>" /> // Stockage du pseudo dans un champ caché de index.php
</div>
chat.js
$('.chat .entree').keyup(function(e){
var messages = $('.chat .entree').val();
messages = $.trim(messages);
var membre = $.trim( $("#pseudo").val() ); // Récupératiode la valeur de champ caché;
/**
* RESTE DE TA FONCTION JS ...
*/
});
Ah !
ben un truc comme ca non ?
$.post('index.php?page=envoie_msg&membre=' + membre,{messages:messages},function(){
// ...
);
dans ton JS
et
$membre = trim(htmlentities(mysql_real_escape_string($_GET'membre'])));
dans envoie_msg.php, par exemple
Bonjour merci beaucoup pour ton aide voila :
Je ne suis pas fort en JS j'ai juste copier/coller se code mais en php j'ai des notions enfin se que je voudrai faire c'est faire une discussion instantané entre deux personne A & B comment faire pour envoyer a la BDD la discussion de A et B et les message sans que l'utilisateur C n'est accés au message de A & b j'éspère que vous avez compris mercii :D
Et bien tu fais une vérification que le message correspond bien à un message envoyé ou reçu par le compte sur lequel tu es connecté :)