2010-08-11 7 views
0

Je reçois cette erreur:Simple ou la comparaison ne fonctionne pas, fonction non définie()?

Fatal error: Call to undefined function () in /home/gmfeedsc/domains/cekdahl.com/public_html/virek/system/application/views/rekommendationer/visa.php on line 263

Et cette ligne est:

<?php if (($post['users_id'] == $this->userId) || ($this->userLevel > 0)): ?> 

Et je ne peux pas le comprendre. Je suppose que c'est parce que penser() autour de la comparaison est une fonction, mais comment pourrais-je écrire cela? Merci.

EDIT: Mon script est une vue Codeigniter et le code environnant est uniquement XHTML. Étant donné que les mandats de pratique que je ne devrais pas récupérer les variables par $ this-> dans la vue, je leur ai fait des variables au lieu et le code ressemble à ceci maintenant:

<?php if (($post['users_id'] == $userId) || ($userLevel > 0)): ?> 

Ces déclarations fonctionnent indépendamment, le problème se pose quand je mets eux autres ensemble.

+2

Pourquoi avez-vous ':' à la fin de l'instruction 'if'? –

+3

@Justin: parce qu'il s'agit d'une autre syntaxe d'instruction (if) (if) – zerkms

+3

@Calle: post s'il vous plaît plus de code. btw cette ligne ** ne peut pas ** lancer une telle erreur – zerkms

Répondre

0

Il n'y a rien de mal à ce code. Cependant, il essaie d'écrire comme ceci:

if ($post['users_id'] == $userId or $userLevel > 0) 

Si vous rencontrez toujours des problèmes, essayez ifs imbriquées pour voir si vous obtenez le même résultat:

if ($post['user_id'] == $userId) { 
    if ($userLevel > 0) { 
+0

ce serait un -1 si j'avais des votes laissés pour suggérer les ifs imbriqués inutiles (ugghh) au lieu de résoudre le problème – aaronasterling

+0

en quelque sorte la première suggestion a effectivement fonctionné! Bien sûr, les ifs imbriqués ne fonctionneront pas. Je suis d'accord avec aaronasterling à ce sujet: il ne fait pas la même chose. –

+0

Je suis d'accord ... Je déteste si. Si vous relisez mon commentaire, je suggère qu'il soit essayé de voir si Calle obtient les mêmes résultats. Désolé si vous l'avez pris pour impliquer que ce serait une "bonne" solution. Mais la solution de base consiste à supprimer les parenthèses supplémentaires inutiles. –