如何修改/删除用户php

时间:2015-01-29 11:14:36

标签: php mysql

<?php 
include 'core/init.php';
admin_protect();
include 'includes/overall/header.php'; 
?>
 <center><h1>Welcome to Admin Page Modify User</h1></center>




<?php
if (isset($_GET['success']) === true && empty($_GET['success']) === true) {
echo 'Your Details have been updated! <br> <br>';
echo "<a href=admin.php>Back to Admin Page</a>";
} else {

if (empty($_POST) === false && empty($errors) === true) {


    $update_data = array(
        'first_name'    => $_POST['first_name'],
        'last_name'     => $_POST['last_name'],
        'gender'        => $_POST['gender'],
        'email'         => $_POST['email'],
        'dob_day'       => $_POST['dob_day'],
        'dob_month'     => $_POST['dob_month'],
        'dob_year'      => $_POST['dob_year'],
        'allow_email'   => $allow_email = ($_POST['allow_email'] == 'on') ? 1 : 0
    );

    update_user($session_user_id, $update_data);
    header('Location: admin_modify.php?success');
    exit();

} else if (empty($errors) === false) {
    echo output_errors($errors);
}
?>

<form action="" method="post">
    <ul>
        <li>
            First Name* : <br> <input type="text" name="first_name" value="<?php echo $user_data['first_name'];?>">
        </li>
        <li>
            Last Name : <br> <input type="text" name="last_name" value="<?php echo $user_data['last_name'];?>">
        </li>
            Gender*:<br>
                <select name="gender" >
                        <option><?php echo $user_data['gender']; ?></option>
                        <option>Male</option>
                        <option>Female</option>
                </select>
        <li>
            Email* : <br> <input type="text" name="email" value="<?php echo $user_data['email'];?>">
        </li>
        <li>
                Date of Birth*:<br>
                    <select name="dob_day">
                        <option><?php echo $user_data['dob_day'];?></option>
                            <?php
                                loop_date();
                            ?>
                    </select>
                    <select name="dob_month">
                        <option><?php echo $user_data['dob_month'];?></option>
                            <?php
                                loop_month();
                            ?>
                    </select>
                    <select name="dob_year">
                        <option><?php echo $user_data['dob_year'];?></option>
                            <?php
                               loop_year();
                            ?>
                    </select>
            </li>
        <li>
            <input type="checkbox" name="allow_email" <?php if ($user_data['allow_email'] == 1) {echo 'checked="checked"';}?> >Would you like to receive email from us?
        </li>
        <li>
            <input type="submit" value="Update">
        </li>
    </ul>
</form>



<?php
}

include 'includes/overall/footer.php' 
?>

<?php include 'includes/overall/footer.php' ?>

当我想使用管理员帐户修改或删除用户时遇到问题。问题是当您修改或删除管理员帐户时,将识别管理员帐户的当前会话。我怎么解决这个问题?谢谢你的帮助。 :)

2 个答案:

答案 0 :(得分:0)

实现您想要做的事情的最佳方法是使用隐藏的输入字段。 例如,如果用户想要修改用户48的数据,则让他使用GET参数(modify_user.php?userId = 48)进入页面。 在页面中,插入一个隐藏的输入字段,如下所示:

<input type="hidden" name="userId" value="<?php echo $_GET["userId"] ?>" />

此输入是隐藏的,其唯一目的是将数据传输到流程代码。

提交表单后,您可以照常访问数据($ _POST [&#34; userId&#34;])。

答案 1 :(得分:-1)

获取用户ID的输入隐藏字段,当您想要从管理员帐户修改/删除用户时,请使用它而非会话。

在表格上:

<input type="hidden" name="user_id" value="<?php if(isset($user_data['id'])){ echo $user_data['id'];} ?>">

在后端php页面:

if(isset($_REQUEST['user_id'])){
  // modify/delete user
$user_id =  $_REQUEST['user_id'];

}