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;?> <br /> <form name='bm_table' action='delete_bms.php' method='post'> <table width=300 cellpadding=2 cellspacing=0> <?php $color = "#cccccc"; echo "<tr bgcolor='$color'><td><strong>Bookmark</strong></td>"; echo "<td><strong>Delete?</strong></td></tr>"; 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 "<tr bgcolor='$color'><td><a href=\"$url\">".htmlspecialchars($url)."</a></td>"; echo "<td><input type='checkbox' name=\"del_me[]\" value=\"$url\"></td>"; echo "</tr>"; } } else echo "<tr><td>No bookmarks on record</td></tr>";?> </table> </form><?php}
点击上面删除的复选框后,需要点击下方的删除书签<?php // only offer the delete option if bookmark table is on this page global $bm_table; if($bm_table==true) echo "<a href='#' onClick='bm_table.submit();'>Delete BM</a> | "; else echo "<font color='#cccccc'>Delete BM</font> | "; ?>
delete_bms.php 删除函数如下<?php require_once('bookmark_fns.php'); session_start(); //create short variable names $del_me = $HTTP_GET_VARS['del_me']; $valid_user = $HTTP_GET_VARS['valid_user']; do_html_header('Deleting bookmarks'); check_valid_user(); if (!filled_out($HTTP_GET_VARS)) { echo 'You have not chosen any bookmarks to delete. Please try again.'; display_user_menu(); do_html_footer(); exit; } else { if (count($del_me) >0) { foreach($del_me as $url) { if (delete_bm($valid_user, $url)) echo 'Deleted '.htmlspecialchars($url).'.<br />'; else echo 'Could not delete '.htmlspecialchars($url).'.<br />'; } } 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是表单方法。

要保護應用免受與會話相關的XSS攻擊,需採取以下措施:1.設置HttpOnly和Secure標誌保護會話cookie。 2.對所有用戶輸入進行輸出編碼。 3.實施內容安全策略(CSP)限制腳本來源。通過這些策略,可以有效防護會話相關的XSS攻擊,確保用戶數據安全。

优化PHP会话性能的方法包括:1.延迟会话启动,2.使用数据库存储会话,3.压缩会话数据,4.管理会话生命周期,5.实现会话共享。这些策略能显著提升应用在高并发环境下的效率。

theSession.gc_maxlifetimesettinginphpdeterminesthelifespanofsessiondata,setInSeconds.1)它'sconfiguredinphp.iniorviaini_set().2)abalanceisesneededeededeedeedeededto toavoidperformance andunununununexpectedLogOgouts.3)

在PHP中,可以使用session_name()函數配置會話名稱。具體步驟如下:1.使用session_name()函數設置會話名稱,例如session_name("my_session")。 2.在設置會話名稱後,調用session_start()啟動會話。配置會話名稱可以避免多應用間的會話數據衝突,並增強安全性,但需注意會話名稱的唯一性、安全性、長度和設置時機。

會話ID應在登錄時、敏感操作前和每30分鐘定期重新生成。 1.登錄時重新生成會話ID可防會話固定攻擊。 2.敏感操作前重新生成提高安全性。 3.定期重新生成降低長期利用風險,但需權衡用戶體驗。

在PHP中設置會話cookie參數可以通過session_set_cookie_params()函數實現。 1)使用該函數設置參數,如過期時間、路徑、域名、安全標誌等;2)調用session_start()使參數生效;3)根據需求動態調整參數,如用戶登錄狀態;4)注意設置secure和httponly標誌以提升安全性。

在PHP中使用會話的主要目的是維護用戶在不同頁面之間的狀態。 1)會話通過session_start()函數啟動,創建唯一會話ID並存儲在用戶cookie中。 2)會話數據保存在服務器上,允許在不同請求間傳遞數據,如登錄狀態和購物車內容。

如何在子域名間共享會話?通過設置通用域名的會話cookie實現。 1.在服務器端設置會話cookie的域為.example.com。 2.選擇合適的會話存儲方式,如內存、數據庫或分佈式緩存。 3.通過cookie傳遞會話ID,服務器根據ID檢索和更新會話數據。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver Mac版
視覺化網頁開發工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中