我想问一下这个特定用户能力的两件事。第一个是如何在用户单击按钮时删除行。第二个是......这会是一个好主意吗?如何为某人创建一个安全的环境。这是我到目前为止所得到的:
<?php
include_once "db_conx.php";
if($_POST['wall'] == "post") {
//open if($_POST['wall'] == "post")
$id = mysqli_real_escape_string($db_conx, trim($_POST['id1']));
if($id == " ")
{
exit();
}
else
$sql = "SELECT FROM courseprogress WHERE userid='$id' LIMIT 1";
$results = mysqli_query($db_conx, $sql);
$sidebar = mysqli_num_rows($results);
if($sidebar > 0) {
//close if($sidebar > 0)
while($row = mysqli_fetch_assoc($results))
{
$sql = mysqli_query("DELETE FROM courseprogress WHERE userid='$id'");
$results = mysqli_query($db_conx, $sql);
}
//close if($sidebar > 0)
}
else
{
echo 'Already Complete!';
echo "<pre>";
var_dump($sql);
echo "</pre><br>";
}
//close if($_POST['wall'] == "post")
}
?>
现在我正在倾销变量,但似乎无法使我的id变量正确。
这个想法是从某种意义上说“重新开始”。该表包含用户进度和设置。一旦他们决定需要重新开始,他们将被允许通过简单地删除该行来实现。再次开始时,将再次创建该行。
更多信息:
我尝试使用的小表单脚本是:
<div class="userInfoContain"><div class="positionRight"><div id="form"> <form><div class="submit"><input type="hidden" id="id" value="'.$id.'" /><input type="submit" name="button" id="button" value="Start Over" onclick="return false" onmousedown="javascript:wall();"/><img src="images/loading.gif" alt="" width="15" height="15" id="loadingstart" /></div></form></div></div></div>
<script type="text/javascript">
$(document).ready(function(){
$('#loadingstart').hide();
});
function wall(){
$('#loadingstart').show();
var id = $('#id').val();
var URL = "./includes/start-over-user.php"; /////post.php will be equal the variable "comment"
$.post(URL,{wall:"post",id1:id},function(data){//parameter wall will be equal "post", name1 will be equal to the var "name" and comment1 will be equal to the var "comment"
$("#result").prepend(data).show();// the result will be placed above the the #result div
$('#loadingstart').hide();
});
}
</script>
答案 0 :(得分:0)
1)安全地允许用户删除:最安全的方法是不允许删除网站使用的MySQL用户的权限。一种称为软删除的方法对于删除MySQL表中的行更安全。这涉及将名为“is_deleted”的列添加到要进行此更新的表中。当is_deleted设置为0时,允许该行正常操作。当用户将is_deleted设置为1时,它应该就好像它不存在一样。在这个例子中,我假设您已将$ is_deleted设置为表中的is_deleted列:
if($is_deleted == '1')
{
// Don't display
}
else
{
// Display
}
2)如何实施:最好的方法是:
UPDATE tablename SET is_deleted = '1' WHERE id = '".$id."'
应该通过AJAX命令或执行MySQL查询的链接执行。
答案 1 :(得分:0)
要删除我建议你使用ajax,这是完美的,你可以对这个动作有更多的控制权 另一个问题我需要更多解释我不理解你好