SyntaxError: Unexpected token [Résolu]

Signaler
Messages postés
78
Date d'inscription
vendredi 26 février 2010
Statut
Membre
Dernière intervention
8 juin 2016
-
Messages postés
78
Date d'inscription
vendredi 26 février 2010
Statut
Membre
Dernière intervention
8 juin 2016
-
Bonjour,
C'est a s'arracher les cheveux
Je mélange dans un programme du javascript et du php afin de gerer en php les cookies
Le code ci dessous m'affiche l'erreur
chifukoosav.php:75 Uncaught SyntaxError: Unexpected token
Si je supprime ce qu'i y a au dessus de setcookie ligne 81 je n'ai plus l'erreur
Je ne comprend pas
Je visaualise l'erreur en faisant inspecter le code et je me mets sur console
Merci pour votre aide
Cordialement
Code avec erreur

<?php
if (!isset($_COOKIE['chifukoolevel'])) {
setcookie('chifukoolevel', '001001', time() + 365*24*3600, null, null, false, true); // On écrit un cookie
}
?>
<p>
Hé ! Je me souviens de toi !<br />
Ton dernier niveau <?php echo $_COOKIE['chifukoolevel']; ?> c'est bien ça ?
</p>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Chifukoo</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<script type="text/javascript">
//***************************************************************************************************************
function chifukoo() {
this.init();
}
//*********************************************************************************************************************************************************
chifukoo.prototype.init = function () {
}
//***************************************************************************************************************
chifukoo.prototype.valideroperation = function () {
//**********************************************************************************************************************************************************************

var taboperation = ["000 0 0", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9",
"999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9"];
var taboperationsav = ["000 0 0", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9",
"999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9"];
var taboperationd = ["000 0 0", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9",
"999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9"];
var tcontrole = [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
var erreur = 0;
// rechercher dans la table les jetons posés
//On cherche dans un premier temps le jetons le plus en haut et a gauche qui a etait déposé
// on valide pour cela un tableau temporaire qui reprend le tableau + les jetons joués
for (var i = 1; i < 401; i++) {
this.casetableaut[i] = this.casetableau[i];
}
//alert(this.casetableau);
// nbjetonpose = nbre de jetons posés sur le plateau
// ce sont les jetons dont l'attribut est dragable
var it = 0; var nbjetonpose = 0;
// nbjetonpose = nbre de jetons posés sur le plateau
// ce sont les jetons dont l'attribut comporte draggable

for (var i1 = 0; i1 < this.nblig; i1++) {
for (var i2 = 0; i2 < this.nblig; i2++) {

var contenu = document.getElementsByTagName('table')[0].getElementsByTagName('tr')[i1].cells[i2].innerHTML;
k = contenu.indexOf("divdropt");
var iddrag = contenu.substring(k, k + 11);
var i = contenu.substring(k+8, k + 11);
//alert(iddrag +"/" +i);
element = document.getElementById(iddrag);
contenu = element.innerHTML;
//alert(contenu);
if (contenu.length !== 0) {
var testtrue = contenu.indexOf("true");
//alert(testtrue);
if (testtrue > 0) {
var j = contenu.indexOf("divdragc");
var k = contenu.indexOf(" class");
iddrop = contenu.substring(j, k - 1);
//alert(iddrop);
j = contenu.indexOf("src=");
tests = contenu.substring(j + 5, j + 8);
//alert(tests);
//alert(this.casetableaut);
it = it + 1;
nbjetonpose = nbjetonpose + 1;
//alert("3" + caset + "/" + this.casetableaut);
}
}
}
}
<?php
setcookie('chifukoolevel', '001003', time() + 365*24*3600, null, null, false, true); // On écrit un cookie
?>
}
//*********************************************************************************************************************************************************
onload = function () { new chifukoo() }
// *****************************************************************************************************
</script>
<div id='cadre' class='container'>

<div id='header' class='header'>
<div id='sheader1' class='sheader1'>
<div id='ssheader1' class='ssheader1'></div>
</div>
<div id='sheader2' class='sheader2' title="Records"></div>
<div id='sheader3' class='sheader3' title="Temps"></div>
<div id='sheader4' class='sheader4' title="Nombre de vie"></div>
<INPUT id='validerdebut' class='validerdebut' type="button" onclick="javascript:validerfin()" title="fin de partie">

</div>
<div id='divleft' class='divleft'>
<div id='cadrescore' class='cadrescore'>
<div id='scorel1' class='scorechifukoo'></div>
<div id='scorechifukoo' class='score2'>0</div>
<div id='scorel2' class='scoreresultat'></div>
<div id='scoreresultat' class='score2'>0</div>
</div>


</div>
<div id='plateau' class='plateau'>
<div id='plateaucadre' class='plateaucadre'>


</div>
</div>
<div id='footer' class='footer'>

<div id='footercadre' class='footercadre'>

</div>
</div>
</div>

</body>



Code sans l'erreur

<?php
if (!isset($_COOKIE['chifukoolevel'])) {
setcookie('chifukoolevel', '001001', time() + 365*24*3600, null, null, false, true); // On écrit un cookie
}
?>
<p>
Hé ! Je me souviens de toi !<br />
Ton dernier niveau <?php echo $_COOKIE['chifukoolevel']; ?> c'est bien ça ?
</p>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Chifukoo</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<script type="text/javascript">
//***************************************************************************************************************
function chifukoo() {
this.init();
}
//*********************************************************************************************************************************************************
chifukoo.prototype.init = function () {
}
//***************************************************************************************************************
chifukoo.prototype.valideroperation = function () {
//**********************************************************************************************************************************************************************


// rechercher dans la table les jetons posés
//On cherche dans un premier temps le jetons le plus en haut et a gauche qui a etait déposé
// on valide pour cela un tableau temporaire qui reprend le tableau + les jetons joués
for (var i = 1; i < 401; i++) {
this.casetableaut[i] = this.casetableau[i];
}
//alert(this.casetableau);
// nbjetonpose = nbre de jetons posés sur le plateau
// ce sont les jetons dont l'attribut est dragable
var it = 0; var nbjetonpose = 0;
// nbjetonpose = nbre de jetons posés sur le plateau
// ce sont les jetons dont l'attribut comporte draggable

for (var i1 = 0; i1 < this.nblig; i1++) {
for (var i2 = 0; i2 < this.nblig; i2++) {

var contenu = document.getElementsByTagName('table')[0].getElementsByTagName('tr')[i1].cells[i2].innerHTML;
k = contenu.indexOf("divdropt");
var iddrag = contenu.substring(k, k + 11);
var i = contenu.substring(k+8, k + 11);
//alert(iddrag +"/" +i);
element = document.getElementById(iddrag);
contenu = element.innerHTML;
//alert(contenu);
if (contenu.length !== 0) {
var testtrue = contenu.indexOf("true");
//alert(testtrue);
if (testtrue > 0) {
var j = contenu.indexOf("divdragc");
var k = contenu.indexOf(" class");
iddrop = contenu.substring(j, k - 1);
//alert(iddrop);
j = contenu.indexOf("src=");
tests = contenu.substring(j + 5, j + 8);
//alert(tests);
//alert(this.casetableaut);
it = it + 1;
nbjetonpose = nbjetonpose + 1;
//alert("3" + caset + "/" + this.casetableaut);
}
}
}
}
<?php
setcookie('chifukoolevel', '001003', time() + 365*24*3600, null, null, false, true); // On écrit un cookie
?>
}
//*********************************************************************************************************************************************************
onload = function () { new chifukoo() }
// *****************************************************************************************************
</script>
<div id='cadre' class='container'>

<div id='header' class='header'>
<div id='sheader1' class='sheader1'>
<div id='ssheader1' class='ssheader1'></div>
</div>
<div id='sheader2' class='sheader2' title="Records"></div>
<div id='sheader3' class='sheader3' title="Temps"></div>
<div id='sheader4' class='sheader4' title="Nombre de vie"></div>
<INPUT id='validerdebut' class='validerdebut' type="button" onclick="javascript:validerfin()" title="fin de partie">

</div>
<div id='divleft' class='divleft'>
<div id='cadrescore' class='cadrescore'>
<div id='scorel1' class='scorechifukoo'></div>
<div id='scorechifukoo' class='score2'>0</div>
<div id='scorel2' class='scoreresultat'></div>
<div id='scoreresultat' class='score2'>0</div>
</div>


</div>
<div id='plateau' class='plateau'>
<div id='plateaucadre' class='plateaucadre'>


</div>
</div>
<div id='footer' class='footer'>

<div id='footercadre' class='footercadre'>

</div>
</div>
</div>

</body>


3 réponses

Messages postés
32469
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 mai 2021
347
Bonjour,
Pourquoi passer par du php ?
En JS : http://ppk.developpez.com/tutoriels/javascript/gestion-cookies-javascript/

Pour ce qui est de l'erreur... tes variables tab... elles sont bien écrites sur une seule ligne ?
 var taboperation = ["000 0 0", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9","999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9"];
 var taboperationsav = ["000 0 0", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9","999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9"];
var taboperationd = ["000 0 0", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9","999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9", "999 9 9"];


Messages postés
78
Date d'inscription
vendredi 26 février 2010
Statut
Membre
Dernière intervention
8 juin 2016

Bonjour
Les tableaux sont bien écrits sur une seule ligne
En ce qui concerne les cookies avec javascript, j'ai un problème pour lire les cookies comme je l'ai expliqué dans un post précédent sur lequel je n'ai pas eu de réponses
quand je visualise le document.cookie, celui ci est vierge alors que je suis certain que le cookie est présent
Cordialement
Messages postés
78
Date d'inscription
vendredi 26 février 2010
Statut
Membre
Dernière intervention
8 juin 2016

Bonjour
Le alert cookContent me renvoi 0

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Chifukoo</title>
<link rel="stylesheet" href="style.css" />

</head>
<body>
<script type="text/javascript">
var cookContent = document.cookie;
alert(cookContent);
//***************************************************************************************************************
function chifukoo() {

this.init();
}
//***************************************************************************************************************

//*********************************************************************************************************************************************************

chifukoo.prototype.init = function () {
alert("init");
this.setCookie("chifukoocookie", "001001");
this.getCookie("chifukoocookie");
}
chifukoo.prototype.setCookie = function setCookie(sName, sValue) {
alert(sName + "/" + sValue);
var today = new Date(), expires = new Date();
expires.setTime(today.getTime() + (365 * 24 * 60 * 60 * 1000));
document.cookie = sName + "=" + encodeURIComponent(sValue) + ";expires=" + expires.toGMTString();
}
chifukoo.prototype.getCookie = function (sName) {
alert(sName);
var cookContent = document.cookie, cookEnd, i, j;
alert(cookContent);
var sName = sName + "=";

for (i = 0, c = cookContent.length; i < c; i++) {
j = i + sName.length;
if (cookContent.substring(i, j) == sName) {
cookEnd = cookContent.indexOf(";", j);
if (cookEnd == -1) {
cookEnd = cookContent.length;
}
return decodeURIComponent(cookContent.substring(j, cookEnd));
}
}
return null;
}


//******************************************************************************************************

//*********************************************************************************************************************************************************
onload = function () { new chifukoo() }
// *****************************************************************************************************
</script>


</body>
</html>

Messages postés
32469
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 mai 2021
347
Pour visualiser le contenu d'un objet ou d'un Array.. tu ne peux pas utiliser un ARRAY.
Le mieux dans ce cas est d'utiliser la console du navigateur en faisant un
console.log(tavariable);


De plus, as tu lu le lien que je t'ai donné ?
Tu y trouveras trois fonctions très utiles.........
http://ppk.developpez.com/tutoriels/javascript/gestion-cookies-javascript/#LV

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

Messages postés
78
Date d'inscription
vendredi 26 février 2010
Statut
Membre
Dernière intervention
8 juin 2016
>
Messages postés
32469
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 mai 2021

Bonjour
J'avais déjà lu ce tutoriel et utilisé les fonctions, mais je n'arrive pas à récupérer le cookie comme dans l'exemple ci dessus quand je travaille avec des fonctions orientées objet
Cordialement