[PHP]unexpected $end

Fermé
Lunatick - 4 sept. 2012 à 20:04
 Utilisateur anonyme - 4 sept. 2012 à 23:22
Bonjour,

Je devellope actuellement un petit jeu en php, ou dans une page est reproduite un terminal, qui interpetera des commandes stockées dans une base de données.
J'ai pour ce faire, utilisé la programmation orienté objet du PHP, j'ai donc crée un objet commande, qui fait un eval() sur le code stockée dans la base de donnée.
Je sais que le eval() est dangereux, mais je suis seul maitre de la base de donnée, mais la n'es pas le probleme.
Ca a l'air de coincer dans ma classe commande, voyez vous même:
Parse error: syntax error, unexpected $end in /home/xxxx/public_html/commande.class.php(26) : eval()'d code on line 1
Pour mon test, j'utilise un simple "echo 'test';" a evaluer, peu de chance que le problème vienne de la.
ledit commande.class.php:
<?php

class Commande
{
private $_nom;
Private $_action;


Public function _construc($nom){
$bdd= new PDO('mysql:host=xxxxxx;xxxxxx','xxxx','xxxx');
$this->setnom($nom);
$reponse = $bdd->query("SELECT action FROM Commandes WHERE nom = '$nom'");
$actioncmd = $reponse->fetch();
$this->setaction($actioncmd['action']);
}

public function setnom($nom){
$this->_nom=$nom;
}
public function setaction($action){
$this->_action=$action;
}

public function utiliser(){
$use =$_action;
eval($use);
}

}
?>


Je me doute aussi bien que le code doit contenir d'autres erreur, merci d'en faire part si vous en trouvez :)

Merci d'avance

Lunatick

A voir également:

3 réponses

synopsis8 Messages postés 1364 Date d'inscription dimanche 15 mars 2009 Statut Membre Dernière intervention 1 juin 2013 243
4 sept. 2012 à 20:20
"Je dévellope" avec un L et deux P !
"interpetera" c'est "interprétera" que tu voulais dire ?
"la programmation orienté" On est d'accord, "la programmation" c'est au féminin ?
"j'ai donc crée" Ah, les accents...
"sur le code stockée" LE code stockÉE ?
"je suis seul maitre de la base" Et l'accent circonflexe ?!
"de la base de donnée" une seule donnée dans la base ?
"mais la n'es pas" Accent grave sur le "a", et "t" à "n'es", 2 fautes ici.
"Ca a l'air" La cédille, tu l'as oublié ?
"voyez vous même" Pas de tirait entre "vous" et "même" (moins un demi point)
"a evaluer" accent grave sur le "a"
"vienne de la" idem
"Je me doute aussi bien que le code doit contenir d'autres erreur" Et oui, comme le "s" à la fin de "erreur".

Mon garçon, tu as des problèmes bien plus graves que le PHP.
0
Je te remercie bien pour ce gentil petit cour, quel dommage qu'il ne m'aide pas pour le PHP

Maintenant, si tu as une reponse un peu plus axée sur la prorammation que sur l'orthographe, je suis preneur.

Attaquer les gens sur l'orthographe, sans faire avancer le sujet d'une quelconque manière...


De cette même façon, notons donc ton magnifique "tirait", au lieu de "tiret"
Hopital, charité, ça te dis quelque chose?
0
Utilisateur anonyme
4 sept. 2012 à 22:34
Bonjour

Le problème n'est pas dans la syntaxe de ta classe, mais dans la syntaxe de ce que tu passes à la fonction eval. Regarde le message d'erreur, il porte sur le "eval()'d code"
Vérifie ce que tu passes à la méthode setaction.
0
Comme j'ai dit, je passe a la fonction eval le message suivant: "echo 'test';"
Je pense pas que ce code ai un quelconque probleme...
0
Pardon, j'avais lu bien trop vite.

Maintenant que j'ai lu plus calmement, je vois dans la méthode 'utiliser' :
$use =$_action;
Ce ne serait pas plutôt
$use =$this->_action;
0
J'essaye ca et je dit...
0
Utilisateur anonyme
4 sept. 2012 à 23:22
fais un echo '<br />',$use,'<br />'; juste avant le eval pour voir ce qui est vraiment évalué
0