我正在尝试从我的数据库中删除一个项目.删除成功但有两个问题:
Notice: Undefined index: delete in C:\wamp\www\source\admin_delete_user.PHP on line 46
第46行:if($_ POST [‘delete’])
>当我从数据库中删除一个项目时,一开始没有任何内容出现,我需要刷新才能看到结果.
码:
<form name="form2" method="post" action="" >
<?PHP
$db_host = 'localhost';
$db_name= 'site';
$db_table= 'tablesite';
$db_user = 'root';
$db_pass = '';
$con = MysqL_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پايگاه داده");
MysqL_query("SET NAMES 'utf8'", $con);
MysqL_query("SET CHaraCTER SET 'utf8'", $con);
MysqL_query("SET character_set_connection = 'utf8'", $con);
$selected=MysqL_select_db($db_name, $con) or die("خطا در انتخاب پايگاه داده");
MysqL_query("SET CHaraCTER SET utf8");
$dbresult=MysqL_query("SELECT * FROM tablesite",$con);
echo "کاربری که قصد حذفش را دارید انتخاب نمایید: ";
echo '<br/>';
echo '<select name="delete">';
while($amch=MysqL_fetch_assoc($dbresult))
{
echo '<option value="'.$amch['id_user'].'">'.$amch['username'].'</option>';
}
echo '</select>'; ?> <br/>
<input name="submit2" type="submit" value="حذف" />
</form>
<?PHP
if($_POST['delete'])
{
$db_host = 'localhost';
$db_name= 'site';
$db_table= 'tablesite';
$db_user = 'root';
$db_pass = '';
$con = MysqL_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پايگاه داده");
MysqL_query("SET NAMES 'utf8'", $con);
MysqL_query("SET CHaraCTER SET 'utf8'", $con);
MysqL_query("SET character_set_connection = 'utf8'", $con);
$selected=MysqL_select_db($db_name, $con) or die("خطا در انتخاب پايگاه داده");
$ins = "DELETE FROM tablesite
where id_user='" . MysqL_escape_string($_POST['delete']) . "'";
$dbresult=MysqL_query($ins,$con);
echo "('" . MysqL_escape_string($_POST['delete']) . "')";
}
?>
解决方法:
要解决第一个问题,您需要在if语句中添加(使用&&)isset($_ POST [‘delete’]).那将检查变量是否存在.
为了修复第二个…你很可能需要将整个删除部分移到数据解析之上.然后它将被删除,然后才被解析,而不是相反.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。