Enregistrer 2 variables Javascript dans PHPMyAdmin

VoziMonPoste -  
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Tout est dans le titre, ce que j'ai fais ne marche pas je ne vois pas mes erreurs pouvais vous m'aider (je suis débutant)? Code :

Javascript :
...

$.ajax({
type: "POST",
url: "Score.php",
data: 'name='+name+'&meilleur='+meilleur,
});

...

PHP :

<?php
require_once: ModelScore.php;

$NomJoueur = $_POST["name"];
$Score = $_POST["meilleur"];
$new = new ModelScore($NomJoueur, $Score);
$new->save();
?>

....

<?php
require_once: Model.php;

class modelScore{

private $NomJoueur;
private $Score;

public function __construct($NomJoueur=NULL, $Score=NULL){
if(!is_null($NomJoueur)&&!is_null($Score)){
$this->NomJoueur = $NomJoueur;
$this->Score = $Score;
}
}

public function save(){
try{
$sql="INSERT INTO score(NomJoueur, Score) VALUES (:NomJoueur, :Score)";
$pre_req=Model::$pdo->prepare($sql);


$values=array(
"NomJoueur" =>$this->NomJoueur,
"Score" =>$this->Score,
);
$pre_req->execute($values);
}catch(Exception $e){
if( Conf::getDebug()){
echo $e->getMessage();
}
else{
echo "Une erreur est survenue :";
}
}
}

?>

.....
Après Model.php marche c'est sûr je l'ai testé sur d'autres projets

Merci d'avance de votre aide

A voir également:

5 réponses

mrjenkins Messages postés 580 Date d'inscription   Statut Membre Dernière intervention   102
 
Salut,

si je me trompe pas, c'est
method:'POST'

et non
type: "POST"


dans ton appel Ajax.
Essaye avec ça.. sinon, ajoute du debug partout pour être sûr que tes variables sont bien settées.

--
0
VoziMonPoste
 
ça ne marche pas... Merci de ton aide quand même je vais tester avec les debug
0
mrjenkins Messages postés 580 Date d'inscription   Statut Membre Dernière intervention   102
 
Tu peux aussi regarder dans la console développeur de ton navigateur. Regarde la réponse que tu reçois lorsque tu fais ton appel ajax.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Bonjour,

Côté Javascript :
var urlAjx = "Score.php";
var datas = {name:name
             ,meilleur:meilleur};
 $.ajax({ 
      type: "POST",
      url: urlAjx,
      data: data,
      async: async,
      dataType: "json",
      success: function(reponse){
        console.log(reponse);
       },
      error:function(jqXHR, textStatus){
         var error = jqXHR.responseText;
         console.log(textStatus + " : " + error);        
        }
     }); 


Fichier Score.php
<?php
  //affichage des erreurs PHP
  error_reporting(E_ALL);
  ini_set('display-erros','on');
  
  //require/include...
	require_once "ModelScore.php";

  //récupération PROPRE des variables
	$NomJoueur = !empty($_POST["name"]) ? $_POST["name"] : '';
	$Score = !empty($_POST["meilleur"]) ? $_POST["meilleur"] : '';
  
	$new = new modelScore($NomJoueur, $Score); //attention aux majuscules/minuscules .. là c'est la class qu'il faut mettre .. pas le nom du fichier !
	$result = $new->save();
  
  echo json_encode($result);
?>


Fichier ModelScore.php
<?php 
require_once "Model.php";

class modelScore{

	private $NomJoueur;
	private $Score;

	public function __construct($NomJoueur=NULL, $score=NULL){
		if(!is_null($NomJoueur)&&!is_null($Score)){
			$this->NomJoueur = $NomJoueur;
			$this->Score = $score;
		}
	}

	public function save(){
		
	  $sql="INSERT INTO score(NomJoueur, Score) VALUES (:NomJoueur, :Score)";
    $values=array( ":NomJoueur"=>$this->NomJoueur
				            ,":Score" =>$this->Score
				           );
    try{
      $pre_req = Model::$pdo->prepare($sql);
		  $res = $pre_req->execute($values);
		}catch(Exception $e){
				if( Conf::getDebug()){
					$res = $e->getMessage();
				}	else{
					$res = "Une erreur est survenue :";
				}
		}
    return $res;
	}

?>

0
VoziMonPoste
 
Bonjour,

désolé de ma réponse tardive, j'ai un probleme, j'ai essayé avec ta solution mais au niveau du php il me retourne une erreur que j'ai pas réussi à régler : parsererror as tu une solution ?

Merci
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
parserror .. quoi ? à quelle ligne ?
Il faut le message d'erreur complet sinon je ne pourrais pas t'aider
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
De façon générale, il faut que tu apprennes à débuguer ton code.

Pour le javascript, utilise des outils comme la console de firefox ou chrome, si tu as une erreur, tu pourras y avoir des infos, tu peux également mettre des console.log(var) dans ton code JS pour voir ce qui se passe, ce que contiennent tes variables, etc...
Dans le cadre d'un appel ajax, tu peux également regarder dans cet outils les transactions réseaux et voir si on appel passe bien, ce qu'il envoie, ce qu'il retourne...

Ensuite dans ton code PHP, tu peux également mettre des var_dump sur tes variables pour voir ce qui s'y passe.

Ca, c'est la base, si tu ne le fais pas, tu vas passer ton temps à demander de l'aide sur des forums alors que parfois les réponses sont très simple à trouver quand on regarde d'un peu plus près.

Bon code.
0