2014-04-01 40 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

相關問題