状态delete.php函数

时间:2011-06-01 00:12:09

标签: php mysql social-networking sql-delete

我按下了按钮,当我点击我状态的X按钮时,我需要删除.php显示浏览器中的链接和streamitem_id号码。

这是按钮

echo '<a href="mysiteraw/sn-extend/theme/default/delete.php?='.$streamitem_data['streamitem_id'].'" onclick="show_confirm() alt="Delete" title="Delete" class="delete">X</a>&nbsp;&nbsp;&nbsp;&nbsp;';

它给出的链接

  

我的网站   /raw/sn-extend/theme/default/delete.php?=1516

然后我在此页面上看到'找不到评论'那么有人可以帮我解决delete.php页面吗?

这是我的SQL

  

创建表,如果不是EXISTS   on_streamdatastreamitem_id   int(11)NOT NULL auto_increment,
  streamitem_type_id int(11)NOT NULL,   streamitem_creator int(11)NOT NULL,   streamitem_target int(11)NOT NULL,   streamitem_timestamp日期时间不是   NULL,streamitem_content   varchar(5000)NOT NULL,
  streamitem_public int(11)NOT NULL,   streamitem_interactionallowed   int(11)NOT NULL默认值'1',
  streamitem_isgroupie int(11)不   NULL默认值为“1”,streamitem_viaid   int(11)NOT NULL默认为'0',
  主要钥匙(streamitem_id))   ENGINE = MyISAM DEFAULT CHARSET = latin1   AUTO_INCREMENT = 1953;

这是我的delete.php,这可能是完全错误的,因为我是PHP / MySql.Sorry的新手

<?php
error_reporting (E_ALL ^ E_NOTICE);

$id=$_GET['id'];
$ipuser=getenv('REMOTE_ADDR');

//Connect to server and select databse.
mysql_connect("localhost", "", "")or die("cannot connect to server"); 
mysql_select_db("")or die("cannot select DB");;
$querycheck="SELECT streamitem_id FROM on_streamdata WHERE streamitem_id='$id'";
$resultcheck=mysql_query($querycheck);
$num=mysql_numrows($resultcheck);
if ($num==0) {
?>
<br>Comment not found.<br>
<br><br>
<a href="javascript: history.go(-1)">Back</a><br>
<?
} else {
$ip=mysql_result($resultcheck,0,"streamitem_id");
if ($ip==$ipuser) {

?>
<form method="post">
<p align="center">
Are you sure you want to delete this comment?
<input type="hidden" name="confirm" value="1">
<br>
<input type="Submit" value="Delete">
</form>
<?
$confirm=$_POST['confirm'];

if ($confirm==1) {


$query=" DELETE streamitem_id FROM on_streamdata WHERE streamitem_id='$id'";
mysql_query($query);
echo "<br>Comment Deleted.<br>";

?>
<br><br>
<a href="javascript: history.go(-2)">Back</a><br>
<?
} else {

?>
<br><br>
<a href="javascript: history.go(-1)">Back</a><br>
<?
}

} else {
?>
<br>You are not allowed to delete this comment.<br>
<br><br>
<a href="javascript: history.go(-1)">Back</a><br>
<?
}
}
mysql_close();

2 个答案:

答案 0 :(得分:0)

$querycheck="SELECT streamitem_id FROM on_streamdata WHERE streamitem_id='$id'";

您的表名实际上是on_groups_streamdata

另外,您需要清理并验证输入,或使用PDO

答案 1 :(得分:0)

好的,首先你不要通过这里的url查询字符串传递任何变量

echo '<a href="mysiteraw/sn-extend/theme/default/delete.php?PUT_SOME_NAME_HERE='.$streamitem_data['streamitem_id'].'" onclick="show_confirm() alt="Delete" title="Delete" class="delete">X</a>&nbsp;&nbsp;&nbsp;&nbsp;';

提示:在下一页上,您搜索$_GET['id'],因此我认为您应该在上面的示例中添加id而不是PUT_SOME_NAME_HERE:)

试试并分享结果。

在您的代码示例中,还缺少数据库选择和传递mysql用户/密码。你是否故意删除它们只是为了不在这里显示敏感信息?