我的用户管理页面部分出现问题。 基本上,我有一个表格,显示所有当前用户,他们的ID,级别等... 在每行的右边,我有一个EDIT和一个DELETE链接。 在列表下方是一个添加新用户链接。
这是我的管理页面中的相关代码:
<h2><a>Administrator Control Panel</a></h2>
<br/><center>
<h3>USER LIST</h3>
<?php
// connect to the database
include('connect-db.php');
// get the records from the database
if ($result = $mysqli->query("SELECT * FROM users ORDER BY user_id"))
{
// display records if there are records to display
if ($result->num_rows > 0)
{
// display records in a table
echo "<table border='1' cellpadding='10'>";
// set table headers
echo "<tr><th>ID</th><th>Name</th><th>Level</th><th></th><th></th>";
while ($row = $result->fetch_object())
{
// set up a row for each record
echo "<tr>";
echo "<td>" . $row->user_id . "</td>";
echo "<td>" . $row->user_name . "</td>";
echo "<td>" . $row->user_level . "</td>";
echo "<td><a href='edit.php?id=" . $row->user_id . "'>Edit</a></td>";
echo "<td><a href='delete.php?id=" . $row->user_id . "'>Delete</a></td>";
echo "</tr>";
}
echo "</table>";
}
// if there are no records in the database, display an alert message
else
{
echo "No results to display!";
}
}
// show an error if there is an issue with the database query
else
{
echo "Error: " . $mysqli->error;
}
// close database connection
$mysqli->close();
?>
<a href="add.php">Add New User</a></center>
</div>
这样可以正常工作,您可以看到列出所需ID的列表的编辑链接。 (测试成功)
在我的edit.php上,我的目标是使用一个简单的表单,该表单预先填充了基于ID的用户/信息。 这是我遇到问题的部分。我已经尝试了多种方法,基于这里和网络上的例子,但仍然无法正确。 如果我能得到一些很好的帮助。
以下是我的edit.php页面的代码... 返回页首:
<?php
session_start();
if(!session_is_registered(myusername)){
header("location:index.php");
}
// Database Variables (edit with your own server information)
$server = '**********';
$user = '********';
$pass = '********';
$db = '*********';
// Connect to Database
$con= new mysqli($server, $user, $pass, $db);
// confirm that the 'id' variable has been set
if (isset($_GET['id']) && is_numeric($_GET['id']))
{
// get the 'id' variable from the URL
$id = $_GET['id'];
// fire mission
$result = $con->query("SELECT * FROM users WHERE user_id='$id'");
}
else
// if the 'id' variable isn't set, redirect the user
{
echo "ID did not carry over" . mysqli_connect_error();
}
?>
然后在页面正文中向下是表单部分:
<div id="login">
<a name="TemplateInfo"></a>
<h2><a>Edit User:</a></h2>
<center>
<form action="update.php" method="post"><BR>
Name: <input type="text" name="Name" value="<?php echo $name; ?>"><BR><BR>
Level: <input type="text" name="Level" value="<?php echo $level; ?>"><BR><BR>
Pass: <input type="text" name="Pass" value="<?php echo $pass; ?>"><BR><BR>
<input type="submit"><BR><BR>
</form><BR><BR><BR>
</center>
</div>
我还有另一个表单发布到的页面,名为update.php:
<?php
// Database Variables (edit with your own server information)
$server = '***************';
$user = '**************';
$pass = '***************';
$db = '**************';
//连接数据库 $ con = new mysqli($ server,$ user,$ pass,$ db); //显示错误(如果在实际网站上删除此行) mysqli_report(MYSQLI_REPORT_ERROR);
// escape variables for security
$name = mysqli_real_escape_string($con, $_POST['Name']);
$level = mysqli_real_escape_string($con, $_POST['Level']);
$pass = mysqli_real_escape_string($con, $_POST['Pass']);
$sql1="UPDATE users SET user_name='$name' WHERE user_id='$id'";
$sql2="UPDATE users SET user_level='$level' WHERE user_id='$id'";
$sql3="UPDATE users SET user_pass='$pass' WHERE user_id='$id'";
if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
if (!mysqli_query($con,$sq2)) {
die('Error: ' . mysqli_error($con));
}
if (!mysqli_query($con,$sq3)) {
die('Error: ' . mysqli_error($con));
}
header("location:admin.php");
mysqli_close($con);
它继续抛出与edit.php页面相关的错误,特别是在注释为&#34; FIRE MISSION&#34;在顶部。您会注意到它甚至还没有完成,因为我完全失去了如何使用$ ID并填写表格框以及要编辑的用户。
我会说直接在上面检查ID变量的部分似乎有用,因为我在IF语句中使用了一些echo来测试它。
我只需要根据给定的ID提供相关的用户信息并将其应用于以下内容: $ name,$ level,$ pass,以便它从表单中发布并更新数据库。
我还应该注意,数据库表称为用户,它包含以下四行: user_id,user_name,user_level,user_pass。 user_id是Primary,并设置为自动递增。该数据库将在INTRANET内部使用,不能从外部访问。
再一次,任何帮助将不胜感激。 提前谢谢!