簡體   English   中英

我只希望頁面刷新一次

[英]i want my page refresh only once

我正在創建一個可以刪除用戶的管理頁面,但是當我刪除用戶時,我必須刷新頁面。

我使用標題刷新,但是刷新了我的頁面多次,我只希望頁面刷新一次。

你們可以幫我嗎?

 <?php $dbcon= mysqli_connect("localhost","root",""); mysqli_select_db($dbcon,"register") or die(mysqli_connect_error($dbcon)); $query ="SELECT * FROM users"; $run = mysqli_query($dbcon,$query); while ($row= mysqli_fetch_array($run)){ $user_id = $row[0]; $user_name = $row[1]; $user_pass = $row[2]; $user_mail = $row[3]; ?> <tr align="center"> <td><?php echo $user_id ?></td> <td><?php echo $user_name ?></td> <td><?php echo $user_pass ?></td> <td><?php echo $user_mail ?></td> <td><a href="delete.php?del=<?php echo $user_id;?>"><button onclick="myFunction()">Verdwijder</button></a></td> </tr> <?php } ?> 

您可以使用1)位置reload()2)window.location.href

首先,您應該創建兩個PHP函數。 一種用於顯示用戶列表,另一種用於刪除用戶。 兩者都有不同的URL。

然后,考慮以下流程:

  1. 用戶轉到用戶列表頁面
  2. 用戶單擊刪除按鈕,該按鈕將調用DELETE操作(刪除URL)。
  3. Delete操作刪除記錄,並將重定向頭發送回用戶列表操作
  4. 用戶被重定向回用戶列表操作,整個循環可能會重復進行。

如果用戶刪除功能出了問題,則有兩種選擇。 刪除操作都可以顯示帶有附加消息的用戶列表。 或者- 更好 -它可以重定向回用戶列表操作,但帶有附加參數(保存在會話中,編碼為URL,Cookie等)。 始終在用戶列表操作中檢查此參數,如果存在,則會顯示相應的狀態消息。 為防止狀態消息顯示兩次,您可以在用戶列表操作中讀取參數(即Flash消息)后立即刪除該參數(cookie,會話等)。

通常,將顯示UI的操作與實際執行某項操作(刪除記錄,插入新記錄等)的用戶分開是很好的。 這樣,您可以更好地控制流程。 所有體面的框架都允許這種方法(例如,在Symfony中,您可以為某個URL上的GET請求創建控制器功能,為同一URL上的POST或DELETE請求創建另一個控制器功能)。

另外,正如我在問題下方的評論中所述,您絕對應該考慮使用模板框架來進一步將視圖與邏輯分開。 Twig和Smarty是值得考慮的選擇(我投票贊成Twig)。

您可以使用此代碼,希望對您有所幫助。

if($queryfired){
echo '<script>alert("Record Deleted:")</script>';
echo '<script>window.location.href="somepage.php";</script>';
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM