Problème avec Ajax

Bonjour,

Voila j'ai un petit soucis. J'utilise régulièrement Ajax et cela marche très bien mais là, je ne trouve pas mon erreur.

Voici l'appel dans ma 1ere page :

$(function(){
	$( "#form_addGame" ).submit(function() {
		alert($(this).serialize());
		var str = $(this).serialize(); 
		$.ajax({  
			type: "POST",
			url: "etape1_game.php",  // Send the login info to this page
			data: str,  
			success: function(msg){  			 
			if(msg == 'OK') // LOGIN OK?
			 {  
				alert('good');
			 }  
			 else // ERROR?
			 {  
				var msg1=msg;
				alert(msg1);
			 }  
				  
			 
			   
			 }  
		   
		 });
  
	});
});


et voici ma page etape1_game.php :

<?php

$hostname = "127.0.0.1";
         $database = "GAMESHOP";
         $username = "root";
         $password = "";
   
         $connexion = mysql_connect($hostname, $username, $password) or die(mysql_error());
         mysql_select_db($database, $connexion);
		 
// Show all errors except the notice ones


	

$post_nom = $_POST['nom'];
	$post_description = $_POST['description'];
	$post_tab_plateformes = $_POST['plateformes'];
	$post_tab_genre = $_POST['genre'];

if(isset($_POST['nom']))
{
	


	$requete1 ="SELECT id_jeu FROM t_jeux order by 1 desc LIMIT 0,1";
	$requete_exec1= mysql_query($requete1) or die(mysql_error());
	$resultat1= mysql_fetch_assoc($requete_exec1);
	
	$id=$resultat1['id_jeu']+1;
	

	// check username and password

	$requete ="INSERT INTO t_jeux VALUES('" . $id . "', '" . $post_nom . "', '" . $post_description . "')";
	$requete_exec= mysql_query($requete) or die(mysql_error());
	
	foreach ($post_tab_genre as $tab_genre)
	{
		$requete2 ="INSERT INTO avoir VALUES('" . $id . "', '" . $tab_genre . "')";
		$requete_exec2= mysql_query($requete2) or die(mysql_error());
		
	}
	
	
	foreach ($post_tab_plateformes as $tab_plateformes)
	{
		$requete2 ="INSERT INTO appartient VALUES('" . $tab_plateformes . "', '" . $id . "', 0)";
		$requete_exec2= mysql_query($requete2) or die(mysql_error());
		
	}
	
	
	echo 'OK';	
	
}
else
{
echo 'non';
}
?>


Sur ma page d'appel, je fais un test sur le msg renvoyé par ma page php, seulement le problème c'est que le msg que j'affiche dans le else est vide. L'ajout dans la base ne se fait pas. C'est normal s'il y a une erreur, mais l'affichage de msg dans l'alert devrait mettre "non" ?!

Je pense que l'erreur vient du JS et pas de la page PHP mais je ne la vois pas.

Merci d'avance :)

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Comment fais-tu passé les "POST" dans le fichier PhP? Je ne vois pas les paramètres.
    1. Avec le data .

      C'est bon j'ai résolu le problème en changeant

      var str = $(this).serialize(); 


      par

      var str = $("#monform ").serialize();