2017-04-04 27 views
0

我試圖創建示例代碼計數($結果)一個$ _SESSION創建PHP $ _SESSION。我已經decalred變量像這樣:從計數變量

$result = array(); 
$result[] = $boxdest; 

這是我運行它在頁面上工作正常,但我需要的值傳遞到一個頁面在PHP郵件()函數的使用。我曾嘗試

$_SESSION['result'] = $result; 

但我得到的是資源ID#40。我如何將這個變量傳遞給另一個頁面。這裏全部的代碼示例:http://sandbox.onlinephpfunctions.com/code/ba0a34774e30c93edfdf02f531bb199c681021e3非常感謝

+0

可能重複[$ \ _ SESSION不保留ldap $ link \ _identifier](http://stackoverflow.com/questions/42388191/session-doesnt-keep-the-ldap-link-identifier) –

+0

什麼是'$ boxdest'? – apokryfos

+0

@ponury這是一個可能的重複? – user1532468

回答

1

這是多個代碼的批判的而不是解決問題的方法:

$_SESSION['result'] = []; //Clear it in case there's an old value here. 
if (isset($_POST['boxdest']) && is_array($_POST['boxdest']) && !empty($_POST['boxdest'])) { //Merged condition 
    $destroydata = explode(',', $_POST['boxdest'][0]); //Split was deprecated 
    $result = array_filter($destroydata); 
    if (empty($result) { 
      $boxdesterror = '<span style="font-weight:bold;font-size:12px;color: #ff0000;">' . 'BOX DESTRUCTION ERROR! ' . '</span>' . '<span style="font-weight:normal;color: #000;background-color:#ffa;">' . 'You must enter a box for destruction' . '</span>'; 
      echo "<script language=\"JavaScript\">\n"; 
      echo 'alert("BOX DESTRUCTION ERROR:\nYou must enter a box for destruction.");'; 
      echo "</script>"; 
      echo $boxdesterror; 
    } else { 
     echo 'You wish to destroy ' . count($result) . ' box(es): ' . '<div style="word-wrap:break-word;white-space: pre-wrap;overflow:auto !important;height: 100px; width: 250px; border: 1px solid #666; background-color: #fff; padding: 4px;">' . '<span style="font-weight:bold;color: #000;">' . implode(', ', $boxdest) . '</span>' . '</div>' . '<p />'; 

     $_SESSION['result'] = $result; //Did you really need both? 
     $flag = 1; 
    } 
} 

這應該是相同的結果。我不明白爲什麼資源會從無處突然出現。

+0

謝謝你。對數組中的項目進行計數並從中創建會話的最佳方式是什麼?更像是一個size選項 – user1532468

+0

您可以執行'$ _SESSION [「resultSize」] = count($ result)'並使用resultSize條目,而不是隻需要大小。 – apokryfos

+0

這是var_dump的輸出,看起來不錯嗎?: '結果'=> 陣列(大小= 2) 0 => 陣列(大小= 1) 0 =>字符串 'DEMO10051B'(長度= 10) 1 => 陣列(大小= 2) 0 =>字符串'DEMO10051B'(長度= 10) 1 =>字符串'DEMO10052A'(長度= 10) – user1532468

0

U可以不存儲在PHP會話中的任何Resource

https://stackoverflow.com/a/42389037/5361130

http://php.net/manual/en/function.serialize.php

編輯

如果您$result是函數結果像mysqli_query或類似的東西,使用mysqli_num_rows獲取nu行MBER不count

http://php.net/manual/en/mysqli-result.num-rows.php

$result = mysqli_num_rows($boxdest) 

$_SESSION['result'] = mysqli_num_rows($boxdest) 
+0

我所要做的是計算從結果數組和科瑞會話項目的數量。 – user1532468