Parserror javascrip [Résolu]

Signaler
Messages postés
72
Date d'inscription
samedi 19 décembre 2015
Statut
Membre
Dernière intervention
3 mai 2020
-
Messages postés
72
Date d'inscription
samedi 19 décembre 2015
Statut
Membre
Dernière intervention
3 mai 2020
-
Bonjour à tous,

J'explique mon problème, J'ai une roue qui tourne et qui affiche le gain sur lequel elle s'arrête.

J'ai une boite de dialogue qui affiche le lot gagné (S'affiche très bien), et une deuxième pour me confirmer que tous c'est bien passé SAUF qu'elle m'affiche un "parsererror"

Help me please.

Code source de ma roue :

<?php
include("include/debut.php");
if(!empty($ID))
{
?>
<link rel="stylesheet" href="main.css" type="text/css" />
        <script type="text/javascript" src="roulette.js"></script>
        <script src="http://cdnjs.cloudflare.com/ajax/libs/gsap/latest/TweenMax.min.js"></script>
		<script src="jquery-3.3.1.min.js"></script>
        <div align="center">
            <h1>Roulette bonjour</h1>
            <p>Bienvenue à toi cher membres de Pokemon Sunshine, 
			Je suis là pour te présenter une roulette qui te fera gagner un cadeaux journalier.</br>
			Chaque jour, tu pourras tourner la roulette et tenter de gagner quelque chose.</br><br />
            <?php
function hms($time)
	{
		$time = (60*60*24) - $time;
	
		$heures = floor($time/60/60);
		$minutes = floor($time/60) - ($heures*60);
		$secondes = $time - ($heures*60*60) - ($minutes*60);
		
		return $heures.":".$minutes.":".$secondes;
	}
	$roulette2 = $bdd->query("SELECT * FROM roulette2 WHERE idDresseur = '".$_SESSION['ID']."'");
		$roulette2 = $roulette2->fetch();
		
		if((time() - $roulette2['time']) > (60*60*24))
		{
?>
                            <img id="spin_button" src="spin_off.png" alt="Tourner la roue" onClick="startSpin();" />
		<?php
		}
		else
		{ ?>
			Temps avant la prochaine roulette :<br/>
			<b><span id="tempsroulette2"><?php echo hms(time() - $roulette2['time']); ?></span></b>
			
		<?php } ?>
            <table cellpadding="0" cellspacing="0" border="0">
                <tr>
                    <td>
                        <div class="power_controls">
                        </div>
                    </td>
                    <td width="438" height="582" class="the_wheel" align="center" valign="center">
                        <canvas id="canvas" width="434" height="434">
                        </canvas>
                    </td>
                </tr>
            </table>
        </div>
        <script>
            var theWheel = new Winwheel({
                'numSegments'   : 16,   
                'outerRadius'   : 212,  
                'innerRadius'   : 120,  
                'textFontSize'  : 16,   
                'textMargin'    : 0,   
                'segments'      :   
                [
                   {'fillStyle' : '#eae56f', 'text' : '1 HyperBall'},
                   {'fillStyle' : '#89f26e', 'text' : '1 PokeBall'},
                   {'fillStyle' : '#7de6ef', 'text' : '1 HyperBall'},
                   {'fillStyle' : '#e7706f', 'text' : 'Super Candy'},
                   {'fillStyle' : '#eae56f', 'text' : '1 SuperBall'},
                   {'fillStyle' : '#89f26e', 'text' : 'CharmChro'},
                   {'fillStyle' : '#7de6ef', 'text' : '1 Miel'},
                   {'fillStyle' : '#e7706f', 'text' : '1 SuperBall'},
                   {'fillStyle' : '#eae56f', 'text' : 'MasterBall'},
                   {'fillStyle' : '#89f26e', 'text' : '1 HyperBall'},
                   {'fillStyle' : '#7de6ef', 'text' : '1 PokeBall'},
                   {'fillStyle' : '#e7706f', 'text' : '1 SuperBall'},
                   {'fillStyle' : '#eae56f', 'text' : '1 Miel'},
                   {'fillStyle' : '#89f26e', 'text' : '1 Miel'},
                   {'fillStyle' : '#7de6ef', 'text' : '1 PokeBall'},
                   {'fillStyle' : '#e7706f', 'text' : '1 SuperBall'}
                ],
                'animation' :           
                {
                    'type'     : 'spinToStop',
                    'duration' : 5,
                    'spins'    : 8,
                    'callbackFinished' : alertPrize
                }
            });


            var wheelPower    = 0;
            var wheelSpinning = false;

            function powerSelected(powerLevel)
            {

                if (wheelSpinning == false)
                {

                    document.getElementById('pw1').className = "";
                    document.getElementById('pw2').className = "";
                    document.getElementById('pw3').className = "";


                    if (powerLevel >= 1)
                    {
                        document.getElementById('pw1').className = "pw1";
                    }

                    if (powerLevel >= 2)
                    {
                        document.getElementById('pw2').className = "pw2";
                    }

                    if (powerLevel >= 3)
                    {
                        document.getElementById('pw3').className = "pw3";
                    }

                    wheelPower = powerLevel;

                    document.getElementById('spin_button').src = "spin_on.png";
                    document.getElementById('spin_button').className = "clickable";
                }
            }

            function startSpin()
            {
                if (wheelSpinning == false)
                {
                    if (wheelPower == 1)
                    {
                        theWheel.animation.spins = 3;
                    }
                    else if (wheelPower == 2)
                    {
                        theWheel.animation.spins = 8;
                    }
                    else if (wheelPower == 3)
                    {
                        theWheel.animation.spins = 15;
                    }

                    document.getElementById('spin_button').src       = "spin_off.png";
                    document.getElementById('spin_button').className = "";

                    theWheel.startAnimation();

                    wheelSpinning = true;
                }
            }

            function resetWheel()
            {
                theWheel.stopAnimation(false); 
                theWheel.rotationAngle = 0;     
                theWheel.draw();              

                document.getElementById('pw1').className = "";  
                document.getElementById('pw2').className = "";
                document.getElementById('pw3').className = "";

                wheelSpinning = false;        
            }

 
            function alertPrize(indicatedSegment)
            {
				var gain = indicatedSegment.text;
				var data = {gain :gain  };  
				var urlFichierAjx = "gain_roulette.php"; 
				  $.ajax({ 
						type: "POST",
						url: urlFichierAjx,
						data: data,
						async: true,
						dataType: "json"
				  })
				  .done(function(reponse){

					  console.log(reponse);
					  alert('OK');
				  })
				  .fail(function(jqXHR, textStatus){
					 alert(textStatus);
				 });
                alert("Tu remporte " + indicatedSegment.text);				
            }
        </script>
<?php 
}
else
{
echo '<b><font color="red">Il faut être connecté pour pouvoir accéder à cette page.<br/><br/></font></b>';
}
	include('include/footer.php');
	?>


Code source de ma page de traitement de mes requêtes SQL :

<?php
session_start();
{
/* MYSQL */
$host = ";
$db_name = "";
$user = "";
$pass = "";

	
$gain = !empty($_POST['gain']) ? $_POST['gain'] : NULL;

//traitement :
switch($gain){
  case "MasterBall":
    $valeurGain = 4;
    break;
  case "1 HyperBall":
    $valeurGain = 3;
    break;
	case "1 SuperBall":
    $valeurGain = 2;
    break;
	case "1 PokeBall":
    $valeurGain = 1;
    break;
	case "1 Miel":
    $valeurGain = 9;
    break;
	case "Super Candy":
    $valeurGain = 12;
    break;
	case "CharmChro":
    $valeurGain = 1176;
    break;
  default:
    $valeurGain = NULL;
    break;
}

if($valeurGain){
  $sql = "INSERT INTO membres_objets (membre_id, ID_objet) VALUES('".$ID."','".$valeurGain."')";
  $result = $bdd->exec($sql);
  
  $sql2 = "UPDATE roulette2 SET time = '".time()."' WHERE idDresseur = '".$ID."'";
  $valid = $bdd->exec($sql2);
}


//on retourne le resultat au javascript
echo json_encode($result);
exit();
}
?>


3 réponses

Messages postés
3604
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
3 juillet 2020
957
Bonjour,

$host = ";

Dans ta connexion à la base, il y a un guillemet double non fermé.

Xavier

PS : si ce n'est pas là ton problème, donne nous l'erreur complète, ça peut aider...
Messages postés
72
Date d'inscription
samedi 19 décembre 2015
Statut
Membre
Dernière intervention
3 mai 2020

Ah non non désolé c'est lors de la suppression des données de connexion que j'ai oublié le ".

Autre l'erreur, ça me met seulement parreserror dans boite de dialogue qui s'affiche
Messages postés
28924
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 juillet 2020
2 605
Bonjour,

Pour débuguer ton erreur... il faudrait regarder dans la console Javascript de ton navigateur soit en utilisant FIREFOX... soit , si tu es sous chrome, après avoir installé le plugin Ajax Debuguer
Une fois fait, tu pourras alors voir la REPONSE de ton appel Ajax et ainsi déterminer d'où vient le souci.




Et bien entendu... vu que tu utilises PDO pour faire tes requêtes SQL... tu vas appliquer TOUT ce qui est indiqué ici :
https://www.commentcamarche.net/faq/46512-pdo-gerer-les-erreurs

.
Messages postés
72
Date d'inscription
samedi 19 décembre 2015
Statut
Membre
Dernière intervention
3 mai 2020

j'ai ça d'écris dedans :

{startedDateTime: "2019-07-31T18:18:37.974Z", time: 635.3859999897294, request: {…}, response: {…}, cache: {…}, …}
Messages postés
28924
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 juillet 2020
2 605 >
Messages postés
72
Date d'inscription
samedi 19 décembre 2015
Statut
Membre
Dernière intervention
3 mai 2020

oui.. et bien tu déplis la partie RESPONSE et tu regardes ce qu'il y a dedans...
Messages postés
72
Date d'inscription
samedi 19 décembre 2015
Statut
Membre
Dernière intervention
3 mai 2020

Désolé de répondre un peu tard mais du coup j'ai fais ce que tu m'a dis Jordan et ça marche nickel l'erreur était toute bête j'avais un signe de ponctuation en trop. (je suis bête)
Sujet Résolu.