簡體   English   中英

PHP:在同一頁面上執行表單操作,直到刷新后仍顯示相同

[英]PHP: form action on same page, still show same until refresh

是的,我有一點編輯配置文件頁面index.php?mode=profile 讓我們以editprofile表單中的用戶名為例。 用戶名已經在用戶名字段中。 因此,我從“彼得”更改為“湯姆”,然后按保存。

動作是?mode=profile&edit=true 因此,現在當我按保存時,它已將數據庫中的列從Peter更新為Tom。 但是這個字段一直保持值為“ Peter”,直到我確實按下刷新(或f5),然后才會出現“ Tom”。 像它沒有在數據庫中更新任何東西,盡管它做了,但是它仍然顯示Peter直到下一次刷新。像它緩存一樣,但是它不應該不緩存什么?

有什么幫助嗎? 是因為它在同一“頁面” /文件上嗎? 我能做什么

我認為您首先要獲取數據,將其放入表單中,然后更新數據庫內容。 提交表單時,應首先更新數據庫內容。 下一步是獲取和創建表單。

最有可能在進行任何配置文件修改之前呈現頁面。 在呈現配置文件之前,請確保您正在處理配置文件的更改(即,所有對數據庫更新值的調用都應在SELECT語句呈現頁面之前)。

您可以做的是在表單的每個輸入字段中,僅回顯相應字段的發布值。

例如-

讓我們以用戶名字段為例-

<input type="text" name="username" value='<?php echo $_POST['username']?>' />

這樣,如果您發布任何字段,那么將顯示該值,而不是從緩存中顯示。

在上面的示例中,我尚未清除過帳數據,請確保在實際情況下使用已清除過帳的數據。

HTTP提供兩種方法:POST和GET。 使用以?param =開頭的URL,您實際上是在使用GET。 當且僅當表單處理是冪等查詢時(即頁面內容不會被查詢更改),才應使用“ GET”。

如果您的表單修改了數據,則應使用POST方法。

暫無
暫無

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

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