envois de donnée avec ajax vers php PDO

Eléphant du PHP | 257 Messages

28 févr. 2016, 13:23

Bonjour voilà j'ai un petit soucis avec l'envois de donnée en ajax vers ma base de donnée d'un chat?

voilà le script que j'ai réalisé mais cela ne fonction pas sauf pour la lecture une petite aide serais la bienvenue .
<? session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Tchat   - <?PHP echo $_SESSION['pseudo_chat'] ; ?> </title>
<link type="text/css" rel="stylesheet" href="style.css" />
</head>
<div id="wrapper">
	<div id="menu">
		<p class="welcome">Welcome, <b><?php echo $_SESSION['pseudo_chat']; ?></b></p>
		<p class="logout"><a id="exit" href="#">Exit Chat</a></p>
		<div style="clear:both"></div>
	</div>	
	<div id="chatbox"></div>
	
	<form name="connexion_chat" id="connexion_chat" action="#">
		<input name="usermsg" type="hidden" id="usermsg" value="<?php echo $_SESSION['pseudo_chat']; ?>" size="63" />
        <input name="message" type="text" id="message" size="63" />
		<input name="submitmsg" type="submit"  id="submitmsg" value="Send" />
	</form>
</div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script type="text/javascript">
// jQuery Document
$(document).ready( function () { 
	$("#connexion_chat").submit( function() {	// à la soumission du formulaire						 
		$.ajax({ // fonction permettant de faire de l'ajax
		   type: "POST", // methode de transmission des données au fichier php
		   url: "post.php", // url du fichier php
		   data: "usermsg="+$("#usermsg").val()+"&message="+$("#message").val(), // données à transmettre
		});
		return false; // permet de rester sur la même page à la soumission du formulaire
	});
			
	//Load the file containing the chat log
	function loadLog(){		
		var oldscrollHeight = $("#chatbox").attr("scrollHeight") - 20;
		$.ajax({
			url: "tchat_lu.php",
			cache: false,
			success: function(html){		
				$("#chatbox").html(html); //Insert chat log into the #chatbox div				
				var newscrollHeight = $("#chatbox").attr("scrollHeight") - 20;
				if(newscrollHeight > oldscrollHeight){
					$("#chatbox").animate({ scrollTop: newscrollHeight }, 'normal'); //Autoscroll to bottom of div
				}				
		  	},
		});
	}
	setInterval (loadLog, 2500);	//Reload file every 2.5 seconds
});	

</script>
</body>
</html>
le code php
<?
session_start();

// Une petite fonction qui allège un peu les codes du traitement d'un formulaire. Elle sert ici plus d'exemple qu'autre chose.


require("function.php");
$connection = connexion_db ();

// Le traitement du formulaire d'ajout d'un message.
if(isset($_POST['usermsg'], $_POST['message'])) // Si le formulaire est envoyé.
{
    if(!empty($_POST['usermsg']) AND !empty($_POST['message'])) // Si tous les champs ont été remplis correctement.
    {
        $pseudo_chat =($_POST['usermsg']); // Regardez un peu plus haut pour la fonction.
        $message =($_POST['message']);



	             $messa=array(':pseudo_chat'=> $pseudo_chat,':message'=> $message,':date'=> time());	
	             $values_messa = join(', ',array_keys($messa));
                 $req_messa=$connection->query( 'INSERT INTO messages_chat ('.str_replace(':','',$values_messa).') VALUES('.$values_messa.')' );
                 $req_messa->execute($messa);
    }
    else // Si le visiteur n'a pas correctement saisi tous les champs, alors on le lui indique.
    {
        echo '<strong>Erreur : vous n\'avez pas correctement saisi les champs obligatoires.</strong>' ;
    }
}


?>

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

28 févr. 2016, 13:45

Bonjour,

Qu'est-ce qui ne marche pas précisément ?
Quand tout le reste a échoué, lisez le mode d'emploi...