使用能够删除自己的表的指定用户的登录

时间:2013-12-17 14:34:04

标签: php mysql sql

这是我的数据库讲师表名人

ID FirstName LastName Email
100  alex     alex     -
102  ali      ali      -

这是我的表user_subject

ID  Subject
100  AAA
100  BBB
102  AAA
102  CCC

这是我的drop_subject.php

<html>
    <head></head>
    <body>

<?php
$conn = mysql_connect('localhost','root','password');
mysql_select_db('lecturer');

$query = 'SELECT persons.ID , persons.FirstName , user_subject.subject
FROM persons
INNER JOIN user_subject
ON persons.ID = user_subject.ID
ORDER BY persons.ID';

$result = mysql_query($query) or die(mysql_error());
?>

<table width="400" border="0" align="center" cellspacing="1" cellpadding="0">
<tr>
<td><form name="form1" method="post" action="">
<table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
<td colspan="4" bgcolor="#FFFFFF"><strong>Drop subject</strong> </td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">#</td>
<td align="center" bgcolor="#FFFFFF"><strong>ID</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Subject</strong></td>

</tr>

<?php while($row = mysql_fetch_assoc($result)) { ?>
<tr>
    <td align="center" bgcolor="#FFFFFF"><input type="checkbox" name="data[]" value="<?php echo $row['ID'];?>" /></td>
    <td bgcolor="#FFFFFF"> <?php echo $row['ID']; ?> </td>
    <td bgcolor="#FFFFFF"> <?php echo $row['subject']; ?> </td>

</tr>
<?php } ?>
<tr>
    <td colspan="3" align="left" bgcolor="#FFFFFF"><input type="submit" value="Delete Checked Rows" /></td>
    <td colspan="2" align="right" bgcolor="#FFFFFF"><a href="user_subject.php?pressed=subject">Back</a></td>


</tr>


<?php
if(isset($_POST['data'])) {
$del_query = "DELETE FROM user_subject WHERE No IN (";
foreach($_POST['data'] as $data) {
$del_query .= "'" . (int) $data . "',";
}
$del_query .= "'')";
mysql_query($del_query) or die(mysql_error());
header("Location:" . $_SERVER['PHP_SELF']);
}



mysql_close()


?>
</table>
</form>
</tr>
</table>
</body>
</html>

问题是当我想要删除主题时,如果我作为阿里访问我能够放弃亚历克斯的主题。

我想要做的就是当alex访问drop_subject.php时,系统只出现他自己的数据,即ID 100主题AAA和ID 100主题BBB,他只能放弃自己的主题

我应该使用什么来限制特定用户访问他们自己的数据库而不是每个人的数据库?

1 个答案:

答案 0 :(得分:2)

所采取的步骤应为

  1. 能够捕获当前访问该页面的用户的用户ID;
  2. 使用WHERE语句和ID WHERE id = <the id of the user>
  3. 过滤结果