$ _GET无法从url接收数据

时间:2014-03-31 19:09:46

标签: php get

我的代码是:

<?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值。但它显示了&#39; Array()&#39;我的代码中出现了什么问题?

1 个答案:

答案 0 :(得分:1)

问题是哈希#符号。当您单击链接时,不会加载新页面(浏览器将在页面上查找ID),因此不会将任何内容附加到该URL。

您应该将链接更改为:

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

如果您想在单击其中一个链接时保持同一页面,则需要ajax。