class php5 - Pb fin de script [RESOLU] - PHP - Programmation
Marsh Posté le 14-01-2005 à 22:59:40
tu as oublie une parenthese quelque part
utilise un "vrai" editeur qui gere ca : jedit
Marsh Posté le 14-01-2005 à 23:01:50
j'utilise CONTEXT mais la mise en page a ete detruite quand j'ai fais le copier coller sur le forum
et j'oublie une parenthese ou ?
Marsh Posté le 14-01-2005 à 23:02:02
C'est quoi la ligne 44 ?
Marsh Posté le 14-01-2005 à 23:10:18
oublié un point-virgule
Marsh Posté le 14-01-2005 à 23:11:19
Je connais pas cette syntaxe de print (il faut dire que je connais peu de choses au PHP5).
Si tu mets la méthode Affiche en commentaires, pareil ?
Marsh Posté le 14-01-2005 à 23:13:39
en commentaire ca passe
mais j'ai une classe membre et il y a une methode affiche similaire qui marche impec !?
public function showProfil()
{
print <<< PROFIL
Login: $this->Login <br>
Localisation: $this->Localisation <br>
Mail : $this->Mail <br>
Date de naissance: $this->Datenais <br>
Sexe: $this->Sexe <br>
Status: $this->Status<br>
Like: $this->Like <br>
Date inscription: $this->Dateinsc <br>
Signature: $this->Signature <br>
Nombre de message: $this->nbMess <br>
PROFIL;
echo "<img src=\"./avatar/".$this->Avatar."\">";
}
Marsh Posté le 14-01-2005 à 23:14:50
c'est peut etre le nom CAT qu'il aime pas
Marsh Posté le 14-01-2005 à 23:16:54
negatif
ca me fais pareil sur 2 autres classes et ce sont les seules erreurs(apparentes), mais ca fct aussi sur 2 autre classes... bizarre
donc le bug est bien caché
ca fais 2h que je suis dessus je vois pas quoi changer la
Marsh Posté le 14-01-2005 à 23:18:14
PROFIL, CAT, tout ça, c'est quoi, concrètement ? Du texte ? Ca doit être remplacé par qqchose ?
Marsh Posté le 14-01-2005 à 23:19:47
euh je sais plus comment avait dit mon prof... redirection de flux me semble
et ca affiche ce qu'il y a dedans tt simplement comme la balise <pre> en html (si c'est bien celle la)
Marsh Posté le 14-01-2005 à 23:24:50
ReplyMarsh Posté le 14-01-2005 à 23:27:27
Ex:
print <<<END
Cette syntaxe s'intitule le "here document" et
permet d'afficher plusieurs lignes avec de
l'interpolation de variables. Notez que la fin de
la syntaxe doit apparaître sur une nouvelle ligne,
avec uniquement un point-virgule, et pas d'espace
de plus !
END;?>
je sais mais ou ais je fais une erreur alors ?
Marsh Posté le 14-01-2005 à 23:45:40
Sielfried a écrit : Je connais pas cette syntaxe de print (il faut dire que je connais peu de choses au PHP5). |
Cette syntaxe n'est pas specifique a php5, elle est egalement dispo sur php4. De plus elle est pas specifique a print ...
Voila plus d'infos :
http://www.php.net/manual/en/langu [...] ax.heredoc
tom261285 a écrit : en commentaire ca passe |
Hmmm, si en commentant sa passe alors tu dois avoir un bug...
Petite question en passant, entre "<<<" et ton "CAT" (ou PROFIL ds l'exemple cite) tu as un espace ou pas ? Car ici il y en a un, essaye de ne pas en metre.
[Edit]
Voila le warning que donne la doc de php concernant cette syntaxe :
Citation : |
Regarde ce que j'ai mis en gras, ca ressemble vraiment a ton probleme. Alors verifie que tu n'as pas indente ton "marqueur de fin".
[/Edit]
Marsh Posté le 15-01-2005 à 00:35:58
Cerel a écrit : Cette syntaxe n'est pas specifique a php5, elle est egalement dispo sur php4. De plus elle est pas specifique a print ... |
Je connaissais pas du tout en effet. Je préfèrerai toujours un echo classique, cela dit.
Marsh Posté le 15-01-2005 à 00:41:23
Je viens de tester du coup.
tom, ton problème vient à coup sûr de l'espace (ou des espaces) après CAT; à la fin du print.
Marsh Posté le 15-01-2005 à 00:43:21
et je dirait meme les espaces avant
Marsh Posté le 15-01-2005 à 10:04:42
j'avais une tabulation apres CAT;
je savais pas que ca jouait ainsi
tous mes scripts passent maintenant
MERCI a tous!
lol quelle erreur a la con j'aurais pu chercher tres longtemps !
Marsh Posté le 14-01-2005 à 22:45:03
bonjour
j'ai un script d'une classe categorie en php5
et quand je veux tester ma classe... 127.0.0.1/php5/class_categorie.php
mon brave firefox me dit:
Parse error: syntax error, unexpected $end in C:\httpd\Apache2\htdocs\php5\class_categorie.php on line 44
<?
require_once('class_mysql.php');
class Categorie
{
private $Id, $Libelle;
public function __construct($id, $lib)
{
$this->Id=$id;
$this->Libelle=$lib;
}
public function Ajouter(Mysql &$mysql)
{
$query="insert into categorie values('".$this->Id."','".$this->Libelle."')";
$mysql->executeQuery($query);
}
public function Delete(Mysql &$mysql)
{
$query="delete from categorie where id_categorie='".$this->Id."'";
$mysql->executeQuery($query);
}
public function Update(Mysql &$mysql)
{
$query="update categorie SET libelle='".$this->Libelle."' where id_categorie='".$this->Id."'";
$mysql->executeQuery($query);
}
public function Affiche()
{
print <<< CAT
Id: $this->Id <br>
Libelle: $this->Libelle <br>
CAT;
}
}
?>
pouvez vous m'aidez plz ???
Message édité par tom261285 le 15-01-2005 à 10:09:29