Enregistrer 2 variables Javascript dans PHPMyAdmin

Fermé
VoziMonPoste - 10 mars 2017 à 14:18
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 - 17 mars 2017 à 14:33
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 577 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 17 juillet 2018 102
10 mars 2017 à 14:28
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
10 mars 2017 à 14:35
ça ne marche pas... Merci de ton aide quand même je vais tester avec les debug
0
mrjenkins Messages postés 577 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 17 juillet 2018 102
10 mars 2017 à 14:38
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 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
11 mars 2017 à 01:38
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
13 mars 2017 à 12:16
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 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
13 mars 2017 à 12:26
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 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
17 mars 2017 à 14:33
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