Parse error: syntax error, unexpected '}'

Résolu/Fermé
Spyk0 Messages postés 36 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 3 décembre 2010 - 24 sept. 2008 à 13:23
nico3009 Messages postés 103 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 31 mars 2012 - 24 sept. 2008 à 14:30
Bonjour, a tous j'ai un problème avec du php j'ai l'erreur suivante : Parse error: syntax error, unexpected '}' in /www/tydus/newscore.php on line 1

et voici le code du fichier :


<?php
}
define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';

if ($pun_user['g_id'] == PUN_GUEST)
error($lang_common['No permission']);
}
// Recover the game name and the score
$game_name = $HTTP_POST_VARS['game_name'];
// str_replace strips all spaces present in the score string
$score = str_replace(" ", "", $HTTP_POST_VARS['score']);
$topscore = 1;
$now = time();

// This is a fix for var "score" wich is send as "Score" and not as "score" like in game "Easter Egg Catch"
if(empty($score))
{
$score = $HTTP_POST_VARS['Score'];
}

if(!empty($game_name) && !empty($score))
{
// Find Topscore
$sql = 'SELECT rank_topscore, rank_score FROM '.$db->prefix.'arcade_ranking, '.$db->prefix.'users WHERE rank_player = '.$db->prefix.'users.id AND rank_game = "'.$game_name.'" ORDER BY rank_score DESC LIMIT 1';
$query = $db->query($sql) or error("Impossible to select topscore.", __FILE__, __LINE__, $db->error());
$line = $db->fetch_assoc($query);
if($line['rank_topscore'] = 1 && $line['rank_score'] < $score)
{
$sql = 'UPDATE '.$db->prefix.'arcade_ranking SET rank_topscore = '.$topscore.' WHERE rank_game = "'.$game_name.'"';
$query = $db->query($sql) or error("Impossible to update the topscore", __FILE__, __LINE__, $db->error());
$topscore = 1;
}
elseif($line['rank_topscore'] >= 0 && $line['rank_score'] <= $score)
{
$topscore = 1;
}
else
{
$topscore = 0;
}

$sql = 'SELECT * FROM '.$db->prefix.'arcade_ranking WHERE rank_player = '.$pun_user['id'].' AND rank_game = "'.$game_name.'"';
$query = $db->query($sql) or error("Impossible to select the user and game", __FILE__, __LINE__, $db->error());
if(mysql_num_rows($query) > 0)
{
$line = $db->fetch_assoc($query);
if($line['rank_score'] <= $score)
{
// Update new highscore
$sql = 'UPDATE '.$db->prefix.'arcade_ranking SET rank_score = '.$score.', rank_date = '.$now.' , rank_topscore = '.$topscore.' WHERE rank_player = '.$pun_user['id'].' AND rank_game = "'.$game_name.'"';
$query = $db->query($sql) or error("Impossible to update new highscore", __FILE__, __LINE__, $db->error());

$sql = 'SELECT game_id FROM '.$db->prefix.'arcade_games WHERE game_filename = "'.$game_name.'"';
$query = $db->query($sql) or error("Impossible to select the game", __FILE__, __LINE__, $db->error());
$gameid = $db->fetch_assoc($query);
echo '<script type="text/javascript">window.location= "arcade_ranking.php?id='.$gameid['game_id'].'"</script>';
}
else
{
// No new highscore
$sql = 'SELECT game_id FROM '.$db->prefix.'arcade_games WHERE game_filename = "'.$game_name.'"';
$query = $db->query($sql) or error("Impossible to select the game", __FILE__, __LINE__, $db->error());
$gameid = $db->fetch_assoc($query);
echo '<script type="text/javascript">window.location= "arcade_play.php?id='.$gameid['game_id'].'"</script>';
}
}
else
{
// Is there a score?
$sql = 'SELECT rank_score, rank_topscore FROM '.$db->prefix.'arcade_ranking WHERE rank_game = "'.$game_name.'" ORDER BY rank_score DESC, rank_topscore DESC';
$query = $db->query($sql) or error("Impossible to select the topscore", __FILE__, __LINE__, $db->error());
$line = $db->fetch_assoc($query);
if($line['rank_score'] <= 0 && $line['rank_topscore'] <= 0)
{
$topscore = 1;
}

// Add new Highscore
$sql = 'INSERT INTO '.$db->prefix.'arcade_ranking (rank_game, rank_player, rank_score, rank_topscore, rank_date) VALUES ("'.$game_name.'", '.$pun_user['id'].', '.$score.', '.$topscore.', '.$now.')';
$query = $db->query($sql) or error("Impossible to insert the new score", __FILE__, __LINE__, $db->error());

$sql = 'SELECT game_id FROM '.$db->prefix.'arcade_games WHERE game_filename = "'.$game_name.'"';
$query = $db->query($sql) or error("Impossible to select the game", __FILE__, __LINE__, $db->error());
$gameid = $db->fetch_assoc($query);
echo '<script type="text/javascript">window.location= "arcade_ranking.php?id='.$gameid['game_id'].'"</script>';
}
}

else

{
error($lang_common['No permission']);
}

?>

Merci d'avance

19 réponses

Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
24 sept. 2008 à 13:25
Salut,
L'erreur est claire : une accolade fermante en ligne 1.
0
nico3009 Messages postés 103 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 31 mars 2012 1
24 sept. 2008 à 13:26
Tu fermes une accolade dès ta 1ère ligne
Essaies de la mettre dans l'autre sens peut etre.
0
Spyk0 Messages postés 36 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 3 décembre 2010 15
24 sept. 2008 à 13:29
Merci de vos conseilles j'ai refait le code mais l'erreur :
Parse error: syntax error, unexpected '}' in /www/tydus/newscore.php on line 8
Pourtant j'ai fait comme vous m'avez dit


Voici le code :


<?php

define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';

if ($pun_user['g_id'] == PUN_GUEST)
error($lang_common['No permission']);

// Recover the game name and the score
$game_name = $HTTP_POST_VARS['game_name'];
// str_replace strips all spaces present in the score string
$score = str_replace(" ", "", $HTTP_POST_VARS['score']);
$topscore = 1;
$now = time();

// This is a fix for var "score" wich is send as "Score" and not as "score" like in game "Easter Egg Catch"
if(empty($score))
{
$score = $HTTP_POST_VARS['Score'];
}

if(!empty($game_name) && !empty($score))
{
// Find Topscore
$sql = 'SELECT rank_topscore, rank_score FROM '.$db->prefix.'arcade_ranking, '.$db->prefix.'users WHERE rank_player = '.$db->prefix.'users.id AND rank_game = "'.$game_name.'" ORDER BY rank_score DESC LIMIT 1';
$query = $db->query($sql) or error("Impossible to select topscore.", __FILE__, __LINE__, $db->error());
$line = $db->fetch_assoc($query);
if($line['rank_topscore'] = 1 && $line['rank_score'] < $score)
{
$sql = 'UPDATE '.$db->prefix.'arcade_ranking SET rank_topscore = '.$topscore.' WHERE rank_game = "'.$game_name.'"';
$query = $db->query($sql) or error("Impossible to update the topscore", __FILE__, __LINE__, $db->error());
$topscore = 1;
}
elseif($line['rank_topscore'] >= 0 && $line['rank_score'] <= $score)
{
$topscore = 1;
}
else
{
$topscore = 0;
}

$sql = 'SELECT * FROM '.$db->prefix.'arcade_ranking WHERE rank_player = '.$pun_user['id'].' AND rank_game = "'.$game_name.'"';
$query = $db->query($sql) or error("Impossible to select the user and game", __FILE__, __LINE__, $db->error());
if(mysql_num_rows($query) > 0)
{
$line = $db->fetch_assoc($query);
if($line['rank_score'] <= $score)
{
// Update new highscore
$sql = 'UPDATE '.$db->prefix.'arcade_ranking SET rank_score = '.$score.', rank_date = '.$now.' , rank_topscore = '.$topscore.' WHERE rank_player = '.$pun_user['id'].' AND rank_game = "'.$game_name.'"';
$query = $db->query($sql) or error("Impossible to update new highscore", __FILE__, __LINE__, $db->error());

$sql = 'SELECT game_id FROM '.$db->prefix.'arcade_games WHERE game_filename = "'.$game_name.'"';
$query = $db->query($sql) or error("Impossible to select the game", __FILE__, __LINE__, $db->error());
$gameid = $db->fetch_assoc($query);
echo '<script type="text/javascript">window.location= "arcade_ranking.php?id='.$gameid['game_id'].'"</script>';
}
else
{
// No new highscore
$sql = 'SELECT game_id FROM '.$db->prefix.'arcade_games WHERE game_filename = "'.$game_name.'"';
$query = $db->query($sql) or error("Impossible to select the game", __FILE__, __LINE__, $db->error());
$gameid = $db->fetch_assoc($query);
echo '<script type="text/javascript">window.location= "arcade_play.php?id='.$gameid['game_id'].'"</script>';
}
}
else
{
// Is there a score?
$sql = 'SELECT rank_score, rank_topscore FROM '.$db->prefix.'arcade_ranking WHERE rank_game = "'.$game_name.'" ORDER BY rank_score DESC, rank_topscore DESC';
$query = $db->query($sql) or error("Impossible to select the topscore", __FILE__, __LINE__, $db->error());
$line = $db->fetch_assoc($query);
if($line['rank_score'] <= 0 && $line['rank_topscore'] <= 0)
{
$topscore = 1;
}

// Add new Highscore
$sql = 'INSERT INTO '.$db->prefix.'arcade_ranking (rank_game, rank_player, rank_score, rank_topscore, rank_date) VALUES ("'.$game_name.'", '.$pun_user['id'].', '.$score.', '.$topscore.', '.$now.')';
$query = $db->query($sql) or error("Impossible to insert the new score", __FILE__, __LINE__, $db->error());

$sql = 'SELECT game_id FROM '.$db->prefix.'arcade_games WHERE game_filename = "'.$game_name.'"';
$query = $db->query($sql) or error("Impossible to select the game", __FILE__, __LINE__, $db->error());
$gameid = $db->fetch_assoc($query);
echo '<script type="text/javascript">window.location= "arcade_ranking.php?id='.$gameid['game_id'].'"</script>';
}
}

else

{
error($lang_common['No permission']);
}

?>
0
nico3009 Messages postés 103 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 31 mars 2012 1
24 sept. 2008 à 13:29
Ton mesage d'erreur veut dire :

syntax error = erreur de syntaxe (écriture au niveau du script)

unexpected '}' = } innatendue on va dire. Il ne comprend pas ce que vient faire cette accolade.

on line 1 = à la ligne 1
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nico3009 Messages postés 103 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 31 mars 2012 1
24 sept. 2008 à 13:31
Ouvre ton accolade au début au lieu de la supprimer sinon à la ligne 8 tu auras encore une accolade fermée toute seule.
0
Spyk0 Messages postés 36 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 3 décembre 2010 15
24 sept. 2008 à 13:37
Le probleme c'est que je ne voit aucune accolade qui se ferme sans s'ouvrir et si je met { au debut sa refait la meme erreur que le premier code :( merci d'avence
0
nico3009 Messages postés 103 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 31 mars 2012 1
24 sept. 2008 à 13:39
Le début de ton code est :

<?php
}
define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';

if ($pun_user['g_id'] == PUN_GUEST)
error($lang_common['No permission']);
}

Il faut que tu l'écrives comme ça :

<?php
{
define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';

if ($pun_user['g_id'] == PUN_GUEST)
error($lang_common['No permission']);
}
0
Spyk0 Messages postés 36 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 3 décembre 2010 15
24 sept. 2008 à 13:42
J'ai mit comme tu m'a dit mais il y a toujours l'erreur Parse error: syntax error, unexpected '}' in /www/tydus/newscore.php on line 6
0
nico3009 Messages postés 103 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 31 mars 2012 1
24 sept. 2008 à 13:43
Renvoie les 15 premières lignes de ton code stp
0
Spyk0 Messages postés 36 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 3 décembre 2010 15
24 sept. 2008 à 13:45
<?php
{
define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';

if ($pun_user['g_id'] == PUN_GUEST)
error($lang_common['No permission']);
}

// Recover the game name and the score
$game_name = $HTTP_POST_VARS['game_name'];
// str_replace strips all spaces present in the score string
$score = str_replace(" ", "", $HTTP_POST_VARS['score']);
$topscore = 1;
$now = time();

Voila ^^
0
nico3009 Messages postés 103 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 31 mars 2012 1
24 sept. 2008 à 13:51
Si tu as
unexpected '}' in /www/tydus/newscore.php on line 6
c'est qu'à priori tu n'as pas rechargé ta page.

Mais en fait je ne suis pas sur qu'il faille l'accolade ouverte ici.

Recharge d'abord ta page et sinon ouvre ton accolade avant error
0
Spyk0 Messages postés 36 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 3 décembre 2010 15
24 sept. 2008 à 13:57
J'ai recharger la page XD j'ai fait comme tu m'a dit mais toujours l'erreur donc sa me gonfle un peut ^^ je ne voit pas pourquoi il mes l'erreur
0
nico3009 Messages postés 103 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 31 mars 2012 1
24 sept. 2008 à 14:00
Toujours "on line 6" dans ton message d'erreur??

Sinon tu as bougé ton accolade ouverte là où je t'ai dit?
0
Spyk0 Messages postés 36 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 3 décembre 2010 15
24 sept. 2008 à 14:04
Ouep toujours en ligne 6 et j'ai mit comme tu m'a dit

<?php

define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';

if ($pun_user['g_id'] == PUN_GUEST)
{error($lang_common['No permission']);
}

// Recover the game name and the score
$game_name = $HTTP_POST_VARS['game_name'];
// str_replace strips all spaces present in the score string
$score = str_replace(" ", "", $HTTP_POST_VARS['score']);
$topscore = 1;
$now = time();
0
nico3009 Messages postés 103 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 31 mars 2012 1
24 sept. 2008 à 14:10
Enlève tes 2 accolades alors
0
Spyk0 Messages postés 36 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 3 décembre 2010 15
24 sept. 2008 à 14:22
Toujour la meme erreur sur la ligne 6 xD
0
nico3009 Messages postés 103 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 31 mars 2012 1
24 sept. 2008 à 14:26
Y a un truc bizarre quand même :-)))

Tu as enlevé les accolades et il te donne une erreur d'accolade à la 6 !!!!!

As tu bien :
- enregistré ta page après modif
- renvoyer ta page en ftp
- recharger ta page

?
0
Spyk0 Messages postés 36 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 3 décembre 2010 15
24 sept. 2008 à 14:28
Ouep ^^ et t'inkiete je m'y connait j'ai monter tout un forum xD et le code c'est pour le forum
http://tydus.olympe-network.com/
0
nico3009 Messages postés 103 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 31 mars 2012 1
24 sept. 2008 à 14:30
Bon, alors si ton message d'erreur est exactement le même, je ne peux pas t'aider :-((
Désolé
0