我目前正在创建我网站的帐户管理系统,我决定添加一项功能,让我可以宣布特定帐户处于活动或非活动状态。数据是从我的mysql表中检索的。
$query = mysqli_query($DBConnect,"SELECT * from REG");
echo "<table class = 'table' style = 'width:90%;text-align:center'>";
while($getData = mysqli_fetch_assoc($query))
{
$username = $getData['uname'];
$fname = $getData['fname'];
$mname = $getData['mname'];
$lname = $getData['lname'];
$bday = $getData['bday'];
$email = $getData['email'];
$contact = $getData['contact'];
$gender = $getData['gender'];
if($getData['userlevel'] == 1)
{
$userlevel = "user";
}
else
{
$userlevel = "admin";
}
if($getData['status'] == 1)
{
$status = "active";
}
else
{
$status = "disabled";
}
echo "<tr>";
echo "<td>$username</td><td>$fname</td><td>$mname</td><td>$lname</td><td>$bday</td><td>$email</td><td>$contact</td><td>$gender</td><td>$userlevel</td><td>
<a href ='..\status.php' >$status </a></td></tr>";
}
echo "</table>";
这是status.php的内容
session_start();
$DBConnect = mysqli_connect("localhost", "root","","kenginakalbo")
or die ("Unable to connect".mysqli_error());
$query = mysqli_query($DBConnect,"SELECT * from REG where id = '$_SESSION[id]'");
while($getData = mysqli_fetch_assoc($query))
{
$status = $getData['status'];
echo "'$_SESSION[id]'";
}
if($status == 1)
{
$query = mysqli_query($DBConnect, "UPDATE REG SET status = 0 where id = '$_SESSION[id]'");
}
else if ($status == 0)
{
$query = mysqli_query($DBConnect, "UPDATE REG SET status = 1 where id = '$_SESSION[id]'");
}
header("Location: admin/login.php");
我需要做的是点击行的ID并在我的会话中声明它,以便可以在“status.php”文件中使用它。但是在这段代码中,表中的最后一个id是由于循环而被声明到会话中的id。如何获取所单击行的id的值? (有点像php中的onClick函数吗?谢谢。
答案 0 :(得分:1)
传递id参数,
status.php?id=$id;
status.php
中的
$id = $_GET['id'];
答案 1 :(得分:0)
变化:
echo "<td>$username</td><td>$fname</td><td>$mname</td><td>$lname</td><td>$bday</td><td>$email</td><td>$contact</td><td>$gender</td><td>$userlevel</td><td>
<a href ='..\status.php' >$status </a></td></tr>";
为:
echo "<td>$username</td><td>$fname</td><td>$mname</td><td>$lname</td><td>$bday</td><td>$email</td><td>$contact</td><td>$gender</td><td>$userlevel</td><td>
<a href ='..\status.php{$getData['id']}' >$status </a></td></tr>";
并在您的status.php中将$_SESSION['id']
更改为$_GET['id']
。但请确保首先通过mysql_real_escape_string($_GET['id'])
或通过PDO阻止SQL注入。
答案 2 :(得分:0)
PHP中没有onclick函数,但是您可以创建一个表单,每行上都有一个按钮,用于保存它所在行的值。让该表单只需要发送一个帖子或获取请求回到状态。 PHP。将它添加到会话可能是一个坏主意。
您也可以创建一个链接修改循环,而不是按钮,这样就有一个名为$ rowid的属性,并在循环中递增它。
<a href="/status.php?rowid=<?php echo $rowid; ?>"></a>
答案 3 :(得分:0)
也许,你真正想要的是在这里使用GET超全球。你可以切换 对于
然后,在status.php页面上使用$ _GET [&#34; userid&#34;]而不是$ _SESSION [id]。
此外,状态页面您不需要一段时间。您应该检查结果的数量,如果它是1则意味着用户存在,然后您只需执行$ getData = mysqli_fetch_assoc($ query)而不用while