Erreur de syntaxe (T_VARIABLE) HELP !

Résolu/Fermé
Utilisateur anonyme - Modifié par -Nabster- le 20/09/2013 à 16:42
 Utilisateur anonyme - 20 sept. 2013 à 22:02
Bonjour,

J'ai récupérer un bout de code pour dire si un channel twitch est lancer ou non, seulement forcément ça ne fonctionne pas et j'ai une belle erreur à la place, pourtant je vois pas d'ou ça peux venir ><

L'erreur est la suivante : Parse error: syntax error, unexpected '$channelName' (T_VARIABLE)

Et voici le code en question, ça me met le même message pour n'importe qu'elle variable.

<?php

$channelName = htmlspecialchars($_GET['channel'], ENT_QUOTES);

$clientId = '****';
$online = 'online.png';
$offline = 'offline.png';
$json_array = json_decode(file_get_contents('https://api.twitch.tv/kraken/streams/'.strtolower($channelName).'?client_id='.$clientId), true);

if ($json_array['stream'] != NULL) {
$channelTitle = $json_array['stream']['channel']['display_name'];
$streamTitle = $json_array['stream']['channel']['status'];
$currentGame = $json_array['stream']['channel']['game'];

echo "$channelTitle is <img src='$online' alt='En ligne' /> playing $currentGame";
} else {
echo "$channelName is <img src='$offline' alt='Hors ligne' />";
}

?>

5 réponses

JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
20 sept. 2013 à 17:26
Salut,

N'y a t'il pas quelque chose se trouvant avant ce bout de code ?
0
Utilisateur anonyme
20 sept. 2013 à 17:34
Salut et merci de ta réponse !

Non il n'y a rien avant ce bout de code, j'ai peut être oublier quelque chose voici la source du code :

http://www.incendiarymedia.org/twitch/status.php
0
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
20 sept. 2013 à 17:42
Quelle ligne l'erreur ?
0
Utilisateur anonyme
20 sept. 2013 à 17:45
Toute, enfin ici c'est $channelName, mais si je l'enlève ça me dit la même chose pour l'autre variable et ainsi de suite.
0
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
20 sept. 2013 à 18:04
Je ne vois pas d'ou l'erreur peut bien provenir !

Tu dis que l'erreur apparaît au niveau de la première ligne, je ne peux expliquer ceci sauf si le code est précédé par autre chose !

Est ce que le message d'erreur que tu as posté est complet, normalement il est suivi de "expected ..." !

...
echo $channelTitle . ' is <img src="' . $online . '" alt="En ligne" /> playing ' . $currentGame;
} else {
echo $channelName . ' is <img src="' . $offline . '" alt="Hors ligne" />';
}
0
J'ai mit le lien de la page d'origine plus haut, c'est pas censé précéder de quelque chose je pense.

Sinon l'erreur complète c'est sa :

Parse error: syntax error, unexpected '$channelName' (T_VARIABLE) in ... on line 3
0
Utilisateur anonyme
20 sept. 2013 à 20:51
Probablement un caractère invisible...
Peux-tu mettre ton fichier source sur cjoint.com pour qu'on l'examine avec un éditeur hexadécimal ? En cachant les mots de passe bien sûr
0
D'après le lien que tu donnes, ton fichier php contiendrait de nombreuses espaces insécables en début de ligne, qui expliqueraient bien l'erreur. Mais je me méfie, elles sont peut-être ajoutées par le site qui affiche ton fichier.
Peux-t u effacer la ligne "vide" qu'il y a entre <?php et $channelName ?
Si l'erreur disparaît, c'est que c'est bien ça le problème, et tu as un tas d'autres espaces à supprimer (ou à remplacer par des espaces 'normales')
0
En effet j'avais des soucis d'espace et j'avais pas activer le ssl (https), seulement maintenant j'ai 2 autres erreurs :

Notice: Undefined index: channel in ... on line 3

La ligne 3 est donc :

$channelName = htmlspecialchars($_GET['channel'], ENT_QUOTES);
Ainsi que :

Notice: Undefined index: stream in ... on line 10

Qui correspond donc à cette ligne :

if ($json_array['stream'] != NULL) {
0

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

Posez votre question
Utilisateur anonyme
20 sept. 2013 à 21:51
Pour la première erreur, c'est clair : $_GET['channel'] n'est pas défini. Appelles-tu bien ta page avec une url du type
http://mapage.php?channel=qqchose
?

Pour les seconde et troisième erreurs, visiblement ton PHP n'est pas configuré pour supporter https dans entrées/sorties. Je ne peux malheureusement pas t'aider là-dessus, je n'y ai jamais touché.
0
Utilisateur anonyme
20 sept. 2013 à 22:02
Ah c'est bon, en effet j'avais mal appeler l'url, problème résolu ^^
0