Jquery ---->Ajax ----->Pph =====> problème ^^ inscrivez-forme ^^

alilom Messages postés 5 Statut Membre -  
Pitet Messages postés 2845 Statut Membre -
bonjours a tous
j'ai un probleme avec ajax ET jquery

Lorsque implémentation du code ne sont pas extraites sortie de php

LE CODE :

HTML : inscription.php

<form method="post" action="">

<p> Email :</p>
<input type="email" id="inpu" name="email" class="email"/> <span class="error"></span>
<p> Pseudo :</p>
<input type="text" id="inpu" name="pseudo" class="pseudo"/> <span class="error"></span>
<p> Mot de pass :</p>
<input type="password" id="inpu" name="pass" class="pass"/> <span class="error"></span>


<input type="submit" value="Créer un compte" id="submit" name="submit" class="creer"/>

</form>




PHP : registerphp.php

<?php 

include "outile/connect_to_mysql.php";

?>

<?php

if (isset($_POST['email']))     { $email=$_POST['email'];      }
if (isset($_POST['pseudo']))    { $pseudo=$_POST['pseudo'];    }
if (isset($_POST['pass']))      { $pass=sha1 ($_POST['pass']); }
if(isset($_POST['ville']))   { $wilaya = $_POST['ville'];   }

if (isset($_POST['submit']))

{
 if($email!= ' ' && $pseudo!= ' ' && $_POST['pass']!= ' ')
{
 
 if( strlen($_POST['pass']) > 5){
 $query = mysql_query("INSERT INTO clients (email,pseudo,pass) VALUE ('$email','$pseudo','$pass')");
 
 
 if($query){ echo 'true'; }
 else{echo 'error';}
} 
}
}
?>




Jquery : inscription.js


$("#submit").click(function(){ 
 email=$(".email").val();
    pseudo=$(".pseudo").val();
    pass=$(".pass").val();
 top_id_country=$(".top_id_country").val();
 
 var datastr =  { email : email, pseudo : pseudo, pass : pass };
 
 

 if(email!=""){
  
 $.ajax({
   type: "POST",
   url: "registerphp.php",
data: datastr,
   success: function(data){    
if(data=='true')    {
$(".result").html(data);
}
else    {
$(".result").css('display', 'inline', 'important');
$(".result").html(data);
}
   },
   beforeSend:function()
   {
$(".result").css('display', 'inline', 'important');
$(".result").html("Loading...")
   }
  });
return false;
 }
});



Le problème est lorsque click sur Créer un compte, data de jquery ne marche pas
n ya pas rien de resultas ici :

if(data=='true') {
$(".result").html(data);
}


Merci d'avc tt ^^

3 réponses

Pitet Messages postés 2845 Statut Membre 527
 
Salut,

Tu peux commencer par ajouter un log dans la fonction success de l'appel ajax pour voir ce qui est reçu dans data :
    success: function(data) {
        console.log(data);
        /* suite du code */

Tu pourras voir le log dans la console web de ton navigateur.

Supprime également l'ouverture suivi de la fermeture de la balise php dans registerphp.php :
?>

<?php

Non seulement c'est inutile mais de plus cette ligne blanche est envoyé au client. Donc au lieu de ne renvoyer que la chaine 'true' ou 'error'
true

Ton fichier envoie une ligne vide avant la chaine

true

ce qui peut expliquer ton problème initial.

Bonne journée
0
alilom Messages postés 5 Statut Membre
 
Salut
merci Pitet ^^

le log dans la console web de navigateur est " " vide !!

donc data est vide !!


mrc bq
0
Pitet Messages postés 2845 Statut Membre 527
 
C'est normal puisque dans ton fichier php, la condition suivante
if (isset($_POST['submit']))

n'est jamais vrai car tu n'envoie pas de paramètre 'submit' via ta requête ajax.

Pour corriger, soit tu envoie un paramètre 'submit' via la requête ajax, soit tu supprimes cette condition.
0