SyntaxError: Unexpected token [Résolu]

titan3131 78 Messages postés vendredi 26 février 2010Date d'inscription 8 juin 2016 Dernière intervention - 25 mai 2016 à 18:11 - Dernière réponse : titan3131 78 Messages postés vendredi 26 février 2010Date d'inscription 8 juin 2016 Dernière intervention
- 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>


Afficher la suite 

5 réponses

Répondre au sujet
jordane45 19324 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 18 décembre 2017 Dernière intervention - 25 mai 2016 à 20:38
0
Utile
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"];


Commenter la réponse de jordane45
titan3131 78 Messages postés vendredi 26 février 2010Date d'inscription 8 juin 2016 Dernière intervention - 26 mai 2016 à 06:16
0
Utile
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
Commenter la réponse de titan3131
titan3131 78 Messages postés vendredi 26 février 2010Date d'inscription 8 juin 2016 Dernière intervention - 26 mai 2016 à 06:19
0
Utile
2
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>

jordane45 19324 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 18 décembre 2017 Dernière intervention - 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);
}

titan3131 78 Messages postés vendredi 26 février 2010Date d'inscription 8 juin 2016 Dernière intervention > jordane45 19324 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 18 décembre 2017 Dernière intervention - 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
Commenter la réponse de titan3131

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.