2014-04-01 59 views
-1
if($placed != true){  
    $_SESSION["eventid"][] = "$r[id]"; 
    $_SESSION["selection"][] = "$selection"; 
    $_SESSION["title"][] = "$r[hometeam] - $r[awayteam]"; 

和错误是:这个错误的解决方案是什么?

Warning: Cannot use a scalar value as an array in /home2/**/bet/add_bet.php on line 54 
Fatal error: [] operator not supported for strings in /home2/**/bet/add_bet.php on line 55 

我知道它有一个数组来实现;但这将是这里的解决方案?我很困惑!

它不喜欢我可以输入$_SESSION["eventid"][] = array();

FULL CODE CAN BE SEEN HERE

+3

'$ R '不是一个数组 –

+1

...并且这些错误足以描述性地告诉你解决方案。 – akluth

+0

如果您的代码中有更多的代码是相关的,则应将其发布到问题中,而不是链接到其他网站。另外,我查看了你的代码,'$ _SESSION ['eventid']'的声明没有任何问题。 – jdphenix

回答

3

如果您var_dump会话变量,你会看到你已经定义$_SESSION['eventid']等。作为代码中某处的字符串。因此,将它们视为数组将会失败。

您将需要显式地将会话变量初始化为数组。

+0

这是完整的代码:(在后编辑) –

+0

谢谢你的亲切的答案!完整的代码已经粘贴在pastebin中。 –

+0

可以在这里找到:http://pastebin.com/jdh5N6pC –

1

,还您在$r需要忧色单引号,也可以使用串联单引号,您不应该使用双引号:

 $_SESSION["eventid"][] = $r['id']; 
    $_SESSION["selection"][] = $selection; 
    $_SESSION["title"][] = $r['hometeam'] .' - ' . $r['awayteam']; 

我想你想是这样的:

$_SESSION["eventid"] = $r['id']; 
    $_SESSION["selection"] = $selection; 
    $_SESSION["title"] = $r['hometeam'] .' - ' . $r['awayteam']; 
+0

最后一个应该是一个字符串,我猜。 – Sirko

+0

你需要在所有这些兼容的字符串转换。它可能_并不重要,但。 – Halcyon

相关问题