使用php通过管理员帐户控制成员

时间:2008-12-08 08:35:00

标签: php

我是php的新手。 我在登录页面上进行了会员注册并且也是adm。所以在管理员内部我想获得成员列表并删除我不想要的成员。所以我从http://localhost/xamp的电话簿示例代码中获取了代码,并根据我的要求编辑了我能够检索成员但无法删除成员。请参阅以下代码:

<?php
    require_once('auth.php');

    require_once('../config.php');

    //Array to store validation errors
    $errmsg_arr = array();

    //Validation error flag
    $errflag = false;

    //Connect to mysql server
    $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
    if(!$link) {
        die('Failed to connect to server: ' . mysql_error());
    }

    //Select database
    $db = mysql_select_db(DB_DATABASE);
    if(!$db) {
        die("Unable to select database");
    }

?>
<html>
    <head>
        <meta name="author" content="Kai Oswald Seidler">
        <link href="../loginmodule.css" rel="stylesheet" type="text/css">
        <title></title>
    </head>

    <body>
        &nbsp;<p>

        <h2><?php echo "User list"; ?></h2>

        <table border="0" cellpadding="0" cellspacing="0">
            <tr bgcolor="#f87820">
                <td><img src="img/blank.gif" alt="" width="10" height="25"></td>
                <td class="tabhead"><img src="img/blank.gif" alt="" width="150" height="6"><br><b><?php echo $TEXT['phonebook-attrib1']; ?></b></td>
                <td class="tabhead"><img src="img/blank.gif" alt="" width="150" height="6"><br><b><?php echo $TEXT['phonebook-attrib2']; ?></b></td>
                <td class="tabhead"><img src="img/blank.gif" alt="" width="150" height="6"><br><b><?php echo $TEXT['phonebook-attrib3']; ?></b></td>
                <td class="tabhead"><img src="img/blank.gif" alt="" width="50" height="6"><br><b><?php echo $TEXT['phonebook-attrib4']; ?></b></td>
                <td><img src="img/blank.gif" alt="" width="10" height="25"></td>
            </tr>

            <?php
                $firstname=$_REQUEST['firstname'];
                $lastname=$_REQUEST['lastname'];
                $phone=$_REQUEST['phone'];


                if($_REQUEST['action']=="del")
                {
                        $result=mysql_query("DELETE FROM members WHERE member_id={$_REQUEST['member_id']}");
                }

                $result=mysql_query("SELECT member_id,firstname,lastname,login FROM members ORDER BY lastname");
                $i = 0;
                while($row = mysql_fetch_array($result)) {
                    if ($i > 0) {
                        echo "<tr valign='bottom'>";
                        echo "<td bgcolor='#ffffff' height='1' style='background-image:url(img/strichel.gif)' colspan='6'></td>";
                        echo "</tr>";
                    }
                    echo "<tr valign='middle'>";
                    echo "<td class='tabval'><img src='img/blank.gif' alt='' width='10' height='20'></td>";
                    echo "<td class='tabval'><b>".$row['lastname']."</b></td>";
                    echo "<td class='tabval'>".$row['firstname']."&nbsp;</td>";
                    echo "<td class='tabval'>".$row['member_id']."&nbsp;</td>";

                    echo "<td class='tabval'><a onclick=\"return confirm('".$TEXT['userlist-sure']."');\" href='userlist.php?action=del&amp;member_1d=".$row['member_id']."'><span class='red'>[".$TEXT['userlist-button1']."]</span></a></td>";
                    echo "<td class='tabval'></td>";
                    echo "</tr>";
                    $i++;
                }

                echo "<tr valign='bottom'>";
                echo "<td bgcolor='#fb7922' colspan='6'><img src='img/blank.gif' alt='' width='1' height='8'></td>";
                echo "</tr>";


            ?>

        </table>


    </body>
</html>

我没有正确地编辑它和所有的外观。

请帮我删除会员。

我不明白是什么。$ TEXT ['userlist-button1']。,'“。$ TEXT ['userlist-sure']。变量是? 我还希望在每个成员的表格中加入一个已批准和不批准的单选按钮。

我该怎么做?

请你帮助我。

3 个答案:

答案 0 :(得分:1)

  1. 这应该是通过FORM而不是href链接(GET)的POST。
  2. $ TEXT显然是一个包含您要打印的文本的数组。
  3. 您需要将href中的&amp;member_1d替换为真实&amp;和真实的我&member_id

答案 1 :(得分:1)

$ TEXT是一个包含所选语言的所有语言字符串的数组。 你发现字符串定义为unter /lang/yourlanguage.php

一般来说,这不是一个很好的例子,开始用IMO编码。

但我认为您的应用可能会开始运作,如果您确定,语言文件和其他包含文件可用,并且您使用&amp; member_id更改此&amp; member_1d

答案 2 :(得分:0)

包含删除链接的成员列表示例:

$query = mysql_query("SELECT member_id,firstname,lastname,login FROM members ORDER BY lastname");
if(mysql_num_row($query)!= 0){ //only continue if there are members in the database
while($row = mysql_fetch_assoc($query)){ //loop through each row in the database
$member_id = $row['member_id'];
$firstname = $row['firstname'];
$lastname = $row['lastname'];

echo '<p>' . $firstname . ' -  <a href="delete_member.php?id='$member_id'">' delete '</a></p>';

}
}

delete_member.php上的一个简单脚本,用于从数据库中删除该成员。

if(isset($_GET['id'])){
$member_id = $_GET['id'];
$query = mysql_query("DELETE FROM members WHERE member_id='$member_id'");
echo '<p>This user was deleted from database</p>';
}

这段代码只是举例的基础。

我宁愿使用一个简单的表单和$ _POST这样的东西,而不是使用$ _GET,这在这种情况下非常容易受到攻击。

获取成员列表后,使用带有输入字段的表单键入要删除的ID。