$ _GET不起作用并查询属性

时间:2015-12-10 19:15:07

标签: php

我遇到了$ _GET方法的问题。我从数据库&中检索了一些关于网页管理员的数据。我为用户添加了一个超链接,以获取有关它们的信息。

这是我第一页中的代码:

<?php if(($adminlevel)==1){
echo '
<h4 class="widgettitle">List of admins</h4>
<table class="table responsive">
<thead>
<tr>
<th>Admin Level</th>
</tr>
</thead>
'; getAdmins(); echo ' 
</table>
';
}else{
echo '<h4 class="widgettitle">You dont have permission to see this table</h4>';
}
?>         
<div class="divider15"></div>

getAdmins()功能如下:

    <?php 
function getAdmins(){
    global $con;
    $get_admin = "select * from admins order by id";
    $run_admin = mysqli_query($con,$get_admin);
    while($row_admin = mysqli_fetch_array($run_admin)){
        $id_admin = $row_admin['id'];

        echo "

                    <tbody>
                        <tr>
                            <td>Trident</td>
                            <td class='center'><a href='editlevel.php?id=$id_admin' title='Clik to change admin level' target='_blank'>$adminlevel_admin</a></td>
                        </tr>
                    </tbody>

        ";
    }
}
?>

如您所见,我通过 getAdmins()函数将用户从第一页链接到另一个名为 editlevel.php 的页面。

因此我制作了这样的超链接:

<a href='editlevel.php?id=$id_admin'>$adminlevel_admin</a>

这里是 editlevel.php 页面:

    <body>
<?php 
if (isset($_GET['id_admin'])){
    $result_id = $_GET['id_admin'];
    $get_result = "select * from admins where id='$result_id'";
                            $run_result = mysqli_query($con,$get_result);
                            while($row_result= mysqli_fetch_array($run_result)){

                                $id_target = $row_result['id'];
                                $username_target = $row_result['username'];
                                $adminlevel_target = $row_result['adminlevel'];
                                $email_target = $row_result['email'];

                                echo '
<div class="mainwrapper">

   <div class="header">
        '; include "php/php_includes/overall/header.inc.php"; echo'
    </div>

    <div class="leftpanel">

        ';include "php/php_includes/overall/leftpanel.inc.php"; echo '

    </div><!-- leftpanel -->

    <div class="rightpanel">

        '; include "php/php_includes/gadgets/rightpanel.editlevel.php"; echo '

    </div><!--rightpanel-->

</div><!--mainwrapper-->
';
                            }
}
?>
</body>

所以基本上我使用if (isset($_GET['id_admin'])){来获取用户点击的项目的结果&amp;尝试通过那个从数据库中检索该项目的数据..但问题是我的屏幕上没有出现任何问题。没有错误消息&amp;没有结果。如果您知道我该如何解决,请告诉我们!

1 个答案:

答案 0 :(得分:1)

您的链接似乎是:

<a href='editlevel.php?id=$id_admin'>$adminlevel_admin</a>

应该是:

<a href='editlevel.php?id_admin=$id_admin'>$adminlevel_admin</a>

为了使用它:

if (isset($_GET['id_admin'])){
    $result_id = $_GET['id_admin'];

编辑:不言而喻,您永远不应该信任用户输入(例如$_GET)。在用于SQL查询之前,应验证并清理这些值。