Fatal error: Only variables can be passed by reference

cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010 - 24 oct. 2007 à 10:42
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 24 oct. 2007 à 20:19
bONjour, j'ai une erreur Only variables can be passed by reference
sur mon if, qui semble venir de la fonctionvb()
je ne comprends pas pourquoi, ca marche tres bien en local mais pas en ligne

<?
if ( vb($_SESSION['utilisateur']['type']) != "1" )
{
// affichage
}



function vb(&$var, $default="") { // Variable blanche
/* if $var n'est pas défini, retourne $default, sinon retourne $var */
 return isset($var) ? $var : $default;
}
?>


merci de votre aide

3 réponses

Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
24 oct. 2007 à 12:03
isset renvoie un boolean deja ... pas un entier!
ensuite enleve ton & sur cette ligne :function vb(&$var, $default="") { // Variable blanche
et essaye à nouveau
et enfin la doc c'est pas fait pour les chiens et n'est pas indispensable sauf si tu l'as connais par coeur
http://de3.php.net/manual/fr/function.isset.php
--------------------------------------------------------------------------------------------------
         Il vaut mieux poser une question et passer pour bête que le rester toute sa vie
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 oct. 2007 à 20:13
Hello,

je ne comprends pas l'intérêt de ton code.
Tu ne modifies pas $var.
Tu renvoies sa valeur, ou la valeur de $default  (vide dans ton exemple) si $var n'existe pas.  Pourquoi donc veux-tu la passer par référence, ta $var ?? Pourquoi veux-tu donc la passer par référence ?
Surtout que $_SESSION est une globale...
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 oct. 2007 à 20:19
Ceci dit, parce que je n'ai pas répondu à ta question; tu utilises quelle version de php ?
0
Rejoignez-nous