欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

请帮帮忙,我贴代码了,现在不用下载文件看了。

程序员文章站 2022-06-10 16:24:21
...
a.php  包含一个删除选中书签的复选框function display_user_urls($url_array){  // display the table of URLs  // set global variable, so we can test later if this is on the page  global $bm_table;  $bm_table = true;?>  
"; echo ""; if (is_array($url_array) && count($url_array)>0) { foreach ($url_array as $url) { if ($color == "#cccccc") $color = "#ffffff"; else $color = "#cccccc"; // remember to call htmlspecialchars() when we are displaying user data echo ""; echo ""; echo ""; } } else echo "";?>
BookmarkDelete?
".htmlspecialchars($url)."
No bookmarks on record


点击上面删除的复选框后,需要点击下方的删除书签Delete BM | ";   else    echo "Delete BM | "; ?>


delete_bms.php 删除函数如下0)    {      foreach($del_me as $url)      {        if (delete_bm($valid_user, $url))          echo 'Deleted '.htmlspecialchars($url).'.
'; else echo 'Could not delete '.htmlspecialchars($url).'.
'; } } else echo 'No bookmarks selected for deletion'; } // get the bookmarks this user has saved if ($url_array = get_user_urls($valid_user)) display_user_urls($url_array); display_user_menu(); do_html_footer();?>


delete_bm函数的代码如下function delete_bm($user, $url){  // delete one URL from the database  $conn = db_connect(); //此处已经包含在另一个php文件中,连接数据库是正常的  // delete the bookmark  if (!$conn->query( "delete from bookmark                        where username='$user' and bm_url='$url'"))    throw new Exception('Bookmark could not be deleted');  return true;  }


我按照:http://bbs.csdn.net/topics/390801785这张贴中2位大牛的建议,将delete_bms.php中所有的 $HTTP_GET_VARS改为$_GET,测试之后,显示删除书签成功,调用代码“ echo 'Deleted '.htmlspecialchars($url).'.
';”但是刷新F5刷新网页书签还在,根本没有删除,请各位指点。我进入数据库查看,发现2个书签还在。。

还有个问题就是:为什么没有书签的时候,Delete BM 是不可以点状态,有书签的时候就会显示可用状态?这个代码有写没有书签就不可用吗?请指点。

echo "Delete BM | "; 这一句代码bm_table.submit()是什么意思?我的php中好像没有submit函数。


回复讨论(解决方案)

bm_table.submit() 就是提交表单,bm_table是表单名,submit是表单方法。



明显是用$_POST获取传递的参数,而不是用$_GET。

$del_me = $_POST['del_me'];
$valid_user = $_POST['valid_user'];

基础还是需要先了解下,不然别人很难给予帮助。

你只判断了delete的query返回结果,而没有去执行mysql_query(“delete”)。

bm_table.submit() 就是提交表单,bm_table是表单名,submit是表单方法。



明显是用$_POST获取传递的参数,而不是用$_GET。

$del_me = $_POST['del_me'];
$valid_user = $_POST['valid_user'];

基础还是需要先了解下,不然别人很难给予帮助。
真是亮瞎我的眼睛了,原来问题出在这里。。测试通过。。