2014-03-31 98 views
0
接收數據

我的代碼是:

<?php 
print_r($_GET); 

<div id="admin_details"> 
    <?php 
    $user =new User(); 
    $all_admin=$user->find_by_sql("SELECT * FROM admin"); 
    ?> 
    <table> 
     <tr><th>User name</th><th>Rule</th><th>Last login</th><th>Action</th></tr> 
     <?php 
     foreach ($all_admin as $admin) { 
      echo "<tr><td>".$admin->user_name."</td>"."<td>".$admin->rule."</td>". 
      "<td>".$admin->login."</td>"."<td>". 
      '<a class="del" href="#?id=' .$admin->admin_id .'&op=del "> Delete</a>'. 

      '<a class="edit" href="#?id='.$admin->admin_id .'&op=edit "> Edit </a>'. 
      '<a class="view" href="#?id='.$admin->admin_id . '&op=view "> view </a>'. 
      '<a class="block" href="#?id='.$admin->admin_id .'&op=block ">block</a>'. 
      "</td></tr>" ; 
     } 
     if(empty($all_admin)) 
     { 
      echo '<tr><td colspan="4">'.'<div class="error_msg">No admin found </div>'.'</td></tr>'; 
     } 
     ?> 

    </table> 
    </div> 
?> 

的print_r($ _ GET);當我點擊編輯,查看或阻止鏈接時,應該在url中顯示id和op值。但它顯示'Array()'我的代碼中發生了什麼問題?

+3

向我們展示您正在使用的整個網址,包括查詢字符串 –

+0

'print_r()'正在做它應該做的事情。嘗試使用'var_dump()'來代替。 –

+1

使用散列(#)指的是頁面內的錨點,因此當您單擊任何鏈接時,不會向服務器發送請求。 – SquareCat

回答

1

問題是散列#符號。當你點擊一個鏈接時,一個新的頁面不會被加載(瀏覽器會在頁面上查找一個ID),所以沒有任何內容被添加到URL中。

你應該改變你的鏈接:

'<a class="del" href="?id=' .$admin->admin_id .'&op=del "> Delete</a>' 
        ^here 

如果你想留在同一頁上,當你點擊一個鏈接,你需要AJAX。

+0

謝謝jeroen。非常感謝 –