2016-07-24 139 views
0

我試圖會話變量傳遞到下一個頁面,但的index.php我已經在foreach($_SESSION['result'] as $row)得到一個錯誤未定義的索引。我可以知道什麼是錯的嗎?傳遞會話變量到另一頁

<?php 
session_start(); 
$search = preg_replace("/[^A-Za-z0-9]/", " ", $_POST['query']); 
$search = $db->real_escape_string($search); 

if (strlen($search) >= 1 && $search !== ' ') { 
    $query = 'SELECT * FROM tablename WHERE name LIKE "%'.$search.'%"'; 
    $result = $db->query($query) or trigger_error($db->error."[$query]"); 


    while($results = $result->fetch_array()) { 
     $resultArray[] = $results; 
    } 

    if (isset($resultArray)) { 
     foreach ($resultArray as $result) { 
      $show_name = preg_replace("/".$search."/i", "<b class='highlight'>".$search."</b>", $result['name']); 
      $show_url = 'index.php'; 
      $out = str_replace('name', $show_name, $html); 
      $out = str_replace('url', $show_url, $out); 
      $_SESSION['result']= $result['name']; 
      echo($out); 
     } 
    } 
} 
?> 

的index.php

session_start(); 
<table> 
<?php foreach($_SESSION['result'] as $row){ ?> 
      <tr> 
       <td> 
       <?php echo $row['name'];?> 
       </td> 
       <td> 
       <?php echo $row['description'];?> 
       </td> 
      </tr> 
<?php } ?> 
</table> 
+1

你剛剛編輯了你的文章,添加我在我的回答中推薦的內容。請不要改變你的問題來實現解決方案!這使得解決方案失效,並且使得後來的人不可能看到你的錯誤並向他們學習,或者給出正確的答案。 – BeetleJuice

+0

注意:未定義指數:導致和 警告:() – xodebox95

+0

的foreach爲無效的論點提供抱歉,但我卻不得不在session_start()。這只是我忘了寫在這裏 – xodebox95

回答

0

你永遠不啓動的第一個文件的會話。與

<?php  
session_start(); 

啓動文件,因爲你錯過了,當您在查詢後分配一個值$_SESSION['result'],沒有被保存在會話中。

還有一個錯誤。您的意思是$_SESSION['result']是一個數組,但是您將它保存爲一個字符串。變化:

$_SESSION['result']= $result['name']; 

$_SESSION['result'][]= $result['name']; 
+0

對不起,我沒有寫在這裏,我確實有會議開始,但錯誤繼續: 注意:未定義的索引:結果和 警告:的foreach提供了無效的參數() – xodebox95

+0

反正會話開始犯規解決任何問題:( – xodebox95

+0

請再次測試,從一開始你已經把在第一個文件的頂部會議開始後,首先執行該文件,並確保。查詢是正常運行,然後再加載第二個文件,錯誤應該消失。 – BeetleJuice

0

如果$ _SESSION [結果]然後一個數組嘗試像下面

$_SESSION['result'][]= $result['name']; 

按你的代碼會議結果變量不是一個數組

+0

然後從我的index.php,我必須添加 <?php foreach($ _ SESSION ['search_output'] [] as $ row){?> – xodebox95

+0

不需要添加另一個[] –

+0

不能解決問題:(仍然遇到同樣的問題 – xodebox95