需求状态删除功能指南
|
我需要添加删除状态功能的帮助。我需要知道我的删除按钮是否在正确的位置,以及我需要在delete.php页面中放置哪些内容,以便从数据库和用户供稿中删除用户注释。
我听说这很简单。但是我只是无法理解,这是我从未真正完成过的事情。因此,我只希望用户按下X键,然后弹出窗口以链接到delete.php,如果用户接受删除,则它将同时从流和数据库中删除该注释。
这是我的STREAMFULL.PHP
<script type=\"text/javascript\" src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js\"></script>
<script type=\"text/javascript\">
function show_confirm()
{
var r=confirm(\"are you sure you want to delete?\");
if (r==true)
{
window.location=\"http://www.fightstar.org/raw/sn-extend/theme/default/delete.php\'\";
}
else
{
alert(\"You pressed Cancel!\");
}
}
</script>\'
<style>
<?php
while($streamitem_data = mysql_fetch_array($chant)){
echo \"<div class=\'stream_object\'>\";
echo \"<table style=\'word-wrap: break-word;\'><td valign=\'top\' style=\'word-wrap: break-word;padding:5px;\'>\";
echo \"<img class=\'stream_profileimage\' style=\'border:none;padding:0px;\' src=\'\";sn_user_core::output_profile_image_url($streamitem_data[\'streamitem_creator\']);echo \"\' onerror=\'this.src=\\\"sn-admin/css/img/no_profile_img.jpeg\\\";\'><td valign=top>\";
$poster_name = sn_user_core::getuser($streamitem_data[\'streamitem_creator\']);
$target_name = sn_user_core::getuser($streamitem_data[\'streamitem_target\']);
$cont = stripslashes($streamitem_data[\'streamitem_content\']);
if(!($streamitem_data[\'streamitem_type_id\']==2)){
$cont = htmlentities($cont);
$cont = ereg_replace(\"[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]\",\"<a class=\'user_link\' href=\\\"\\\\0\\\">\\\\0</a>\", $cont);
}
if($streamitem_data[\'streamitem_creator\']==$streamitem_data[\'streamitem_target\']){
echo \"<a href=\'sn-profile.php?uid=\".$poster_name[\'id\'].\"\'>\" . $poster_name[\'firstname\'].\" \".$poster_name[\'lastname\'] .\"</a>\";
}else{
echo \"<a href=\'sn-profile.php?uid=\".$poster_name[\'id\'].\"\'>\" .$poster_name[\'firstname\'].\" \".$poster_name[\'lastname\'] .\" </a>
>
<a href=\'sn-profile.php?uid=\".$target_name[\'id\'].\"\'>\" .$target_name[\'firstname\'].\" \".$target_name[\'lastname\'] .\"</a>\";
}
if($streamitem_data[\'streamitem_type_id\']==2){
$cont = nl2br($cont);
echo \"<div style=\'display:inline;\'> \".$cont.\" </div>\";
}else{
if($streamitem_data[\'streamitem_creator\']==$streamitem_data[\'streamitem_target\']){
$cont = nl2br($cont);
echo \"<div>\".$cont.\"</div>\";
}else{
$cont = nl2br($cont);
echo \"<div>\".$cont.\"</div>\";
}
}
echo \"<div class=\'post_contextoptions\'>\";
echo \"<div class=\'stream_option\'>\".Agotime($streamitem_data[\'streamitem_timestamp\']);
if(!($streamitem_data[\'streamitem_viaid\']==0)){
//COMMENTS
echo \'<a href=\"\" onclick=\"show_confirm()\" alt=\"Delete\" title=\"Delete\" class=\"delete\">X</a> \';
}
没有找到相关结果
已邀请:
3 个回复
糖固傻染
雄鞋谋塘
$ _GET [comm_id]来自上一页。 此时,您可以选择以传统方式或http请求调用delete.php 一旦您拥有delete.php,它就会变成: if(isset($ _ POST [\'delete \'])) 删除($ _POST [\'comment_id \']) ...等等 删除功能就像:
成功时显示一些失败时页面... 当然没有安全性,这里没有给出sql攻击预防,这是您的工作。这只是一个基本情况。 您始终希望使事情尽可能地自动化,数据清理,SQL插入,查询等都为自动化事情提供了理想的基础!
校勒魏寡
在mysql客户端中执行以下所有操作(heidisql是免费的)
通过这种方式,您可以知道应该关注的地方或问题所在: -查询 -错误的ID 等等 通常,当仍在开发中时,通常需要回显sql并直接从客户端运行它。成功的调试通常需要单独隔离和测试事物。在php中,最常用的调试工具是以下各项的组合:
注意:采取一些基本的顺序措施。 1.任何登录的用户都可以在更改url上的ID的同时删除某人的其他注释,因此在删除注释之前,请确保至少要删除的注释与登录的用户匹配,例如伪代码: 如果存在行,其中注释id =登录用户ID,则返回true,否则返回false 如果为true,则删除;如果为false,则不删除 2.尽可能采用PDO方式,如果使用得当,可以帮助进行sql注入攻击。 3.可以在可能的情况下使用post,如果您搜索有关php安全的信息,则有很多可用的方法。