3 回答

TA貢獻(xiàn)1871條經(jīng)驗 獲得超8個贊
您可以像這樣使用查詢字符串重定向:
header('Location:klient_usuwanie.php?msg='.urlencode($msg).'&deleted=true');
在 中klient_usuwanie.php,解析查詢參數(shù)并使用 javascript 顯示警報,如下所示:
window.onload = function() {
const urlParams = new URLSearchParams(window.location.search);
if (urlParams.get("deleted") === "true") {
alert("Record deleted");
}
}

TA貢獻(xiàn)1725條經(jīng)驗 獲得超8個贊
添加 header('Location:klient_usuwanie.php?msg='.urlencode($msg).'');
header('Location:klient_usuwanie.php?msg='.urlencode($msg).'&skasowane=tak');
在 klient_usuwanie.php 中添加如下內(nèi)容:
if($_GET['skasowane']=="tak"){echo "<script>alert(\"I am an alert box!\");</script>";}

TA貢獻(xiàn)1827條經(jīng)驗 獲得超8個贊
對現(xiàn)代方法的建議:
免責(zé)聲明:這個答案比確切的要求更符合意圖。為什么?為這種請求重新加載整個頁面是一種過時的做法。
如今,您更可能依賴 AJAX 調(diào)用來處理此類場景。刪除端點將接收帶有 ID 的請求并響應(yīng)正確的 HTTP 代碼以指示操作是否成功。
Restful HTTP 端點當(dāng)然可以用 PHP 編寫,以響應(yīng)數(shù)據(jù)而不是 HTML。
查看帶有良好端點示例的 Swagger:https ://editor.swagger.io
在您的前端,您可以實施必要的 JavaScript 代碼來執(zhí)行 AJAX 請求并根據(jù)需要操作 DOM。
盡管許多人會使用像 Angular 或 React 這樣的框架來標(biāo)準(zhǔn)化這個工作流程。
用戶體驗
這種方法對用戶來說要好得多,因為瀏覽器不需要再次重新加載整個頁面。因為它只觸發(fā)一個微小的 HTTP 請求,所以速度更快,滾動位置也不會跳來跳去。
我已經(jīng)用 jQuery 在 JS-Fiddle 上舉了一個 HTML 的例子來簡化 AJAX 調(diào)用: https ://jsfiddle.net/sny9hw73/3/
例子:
<div id="entry-<?=$id;?>" class="banner-message">
<p>My Entry with real request</p>
<button onClick="delete(<?=$id;?>);">Delete Entry</button>
</div>
<script>
function delete(id) {
$.ajax({
url: '/entry.php,
data: { 'entryId': id },
type: 'DELETE',
success: function(result) {
$('#entry-' + id).remove();
},
fail: alert('Delete Record No: ' + id + ' failed')
}
</script>
注意:警報也不總是很好。雖然簡單,但它們會停止代碼執(zhí)行并且在某些情況下呈現(xiàn)效果不佳。即:在網(wǎng)絡(luò)視圖中或在移動設(shè)備上。它們還會導(dǎo)致全屏退出。
更專業(yè)的方法是在 DOM 中播放通知。從這個意義上說,Angular Material 的 Snackbar 更簡潔。
添加回答
舉報