bonjour j'ai fini le tuto aujoud'hui et j'ai un problème quand j'essaye de le mettre en ligne je suis sous ovh et quand je tape l'adresse du site web j'ai ce problème
Erreur d'analyse : erreur de syntaxe, T_STRING inattendu, attendait T_OLD_FUNCTION ou T_FUNCTION ou T_VAR ou '}' dans / homez.527/habbrico/www/core/Session.php en ligne 4
si vous avez une solution merci
Comme son nom l'indique, c'est une erreur de syntaxe, donc une fonction ou une boucle mal fermée, une ligne non terminée, ou autre chose.
Il faut juste savoir que, si bons nous puissions être en php, là, sans voir ton code, c'est vraiment un peu dur de t'aider.
Pasqu'en gros, ce qui se passe là, c'est exactement la même chose que venir nous dire "je viens de recevoir le corrigé d'une dictée et j'ai une faute d'orthographe, pouvez-vous m'aider ?"; sans nous donner le texte de la dictée, ben personne ne pourrait te dire d'où vient la faute.
C'est la même chose ici, il nous faut absolument ton code pour t'aider, mais dans tous les cas, c'est une petite erreur de syntaxe, donc si tu regardes à la ligne 4 (ou autour) dans ton fichier Session.php, tu devrais voir qu'il manque quelque chose dans ton code.
Et si même comme ça tu ne trouves pas, viens poster ton code, on devrait pouvoir t'aider.
À tout à l'heure. :)
Merci je vais t’envoyer le code complet
<?php
class Session{
public function __construct(){
if(!isset($_SESSION)){
session_start();
}
}
public function setFlash($message,$type = 'success'){
$_SESSION'flash'] = array(
'message' => $message,
'type' => $type
);
}
public function flash(){
if(isset($_SESSION'flash']'message'])){
$html = '<div class="alert-message '.$_SESSION'flash']'type'].'"><p>'.$_SESSION'flash']'message'].'</p></div>';
$_SESSION'flash'] = array();
return $html;
}
}
public function write($key,$value){
$_SESSION$key] = $value;
}
public function read($key = null){
if($key){
if(isset($_SESSION$key])){
return $_SESSION$key];
}else{
return false;
}
}else{
return $_SESSION;
}
}
public function isLogged(){
return isset($_SESSION'User']->role);
}
public function user($key){
if($this->read('User')){
if(isset($this->read('User')->$key)){
return $this->read('User')->$key;
} else{
return false;
}
}
return false;
}
}
Hum...
Quand j'exécute ton code sur mon serveur local, je n'ai pas d'erreur, mais je crois comprendre d'où vient le problème.
Quelle est la version de php qui fait tourner le code ?
Je pense que tu tournes en php 4.x, version de php qui ne comprends pas la méthode __construct.
Il faut donc que tu travailles en php5 (la version 5 a 8ans, il serait temps d'abandonner la version 4), et si malgré tout tu ne peux pas (si c'est à cause de ton hébergeur... change d'hébergeur), renomme __construct en Session.
Déjà, il faudrait qu'on soit bien sûrs que c'est ça.
Crée un fichier sur ton hébergeur que tu nommeras infos.php, et mets ce code dedans:
<?php
phpinfo();
?>
Avec ton navigateur, va voir ce fichier et regarde quelle version de php il indique au début de la page.
Dans tous les cas, pour changer la version de php utilisée, il faut voir avec ton hébergeur.
Je travaille avec des serveurs dédiés depuis des années, et je n'ai jamais eu l'occasion de bosser sur un mutualisé de chez OVH, donc je ne sais pas trop comment changer la version de php chez eux, mais si tu fais une petite recherche sur google ou sur les forums d'ovh, tu devrais vite trouver la solution.
Non, désolé, je n'ai pas Skype.
Mais as-tu regardé la version de php installée sur ton hébergeur ? Soit tu créées le script phpinfo comme je te l'ai indiqué, soit tu vas dans ton manager ovh et tu devrais trouver ça quelque part...
En faisant vite fait une recherche dnas google, je suis tombé sur ceci : http://guide.ovh.com/Php5ChezOvh.