SyntaxError: Unexpected token

Résolu
titan3131 Messages postés 77 Date d'inscription vendredi 26 février 2010 Statut Membre Dernière intervention 8 juin 2016 - 25 mai 2016 à 18:11
titan3131 Messages postés 77 Date d'inscription vendredi 26 février 2010 Statut Membre Dernière intervention 8 juin 2016 - 26 mai 2016 à 13:47
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

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
25 mai 2016 à 20:38
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"];


0
titan3131 Messages postés 77 Date d'inscription vendredi 26 février 2010 Statut Membre Dernière intervention 8 juin 2016
26 mai 2016 à 06:16
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
0
titan3131 Messages postés 77 Date d'inscription vendredi 26 février 2010 Statut Membre Dernière intervention 8 juin 2016
26 mai 2016 à 06:19
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>

0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
26 mai 2016 à 10:15
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);
}

0
titan3131 Messages postés 77 Date d'inscription vendredi 26 février 2010 Statut Membre Dernière intervention 8 juin 2016 > jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024
26 mai 2016 à 13:47
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
0
Rejoignez-nous