在 PHP 網頁中,當填寫表單并且某些欄位填寫不正確時,我需要回傳同一頁面并自動填寫用戶預先填寫的所有欄位。如何設定欄位的值?
我嘗試使用 $_POST 方法并回顯,但錯誤是我使用的密鑰未定義。
uj5u.com熱心網友回復:
請記住,如果您確實使用,請echo確保您轉義輸出,即
echo htmlspecialchars($_POST['name']);
否則您將面臨注入攻擊的風險
uj5u.com熱心網友回復:
您可以將值存盤在一個名為 data$ 的陣列中,如果有錯誤,則將此陣列回傳到頁面并使用 value 方法填充預先填充的值。例子
$data =[
'name' => $_POST['name']
];
if(empty($data['name']){
$data['name_err']= "error name";
}
在所需的頁面上:
<input value="<?php echo $data['name'] >?">
<span><?php echo $data['name_err'] <span>
uj5u.com熱心網友回復:
You can use a session to store the form values.
<?php
// Start the session
session_start();
// Store values in session//
$_SESSION['form'] = ['first_name' => isset($_POST['first_name']) ? $_POST['first_name'] : '', 'last_name' => isset($_POST['last_name']) ? $_POST['last_name'] : '', ];
?>
<input name="first_name" value="<?php echo isset($_SESSION['form']['first_name']) ? htmlspecialcharc($_SESSION['form']['first_name']) : ''; ?>">
<input name="last_name" value="<?php echo isset($_SESSION['form']['last_name']) ? htmlspecialcharc($_SESSION['form']['last_name']) : '' ?>">
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/529280.html
上一篇:如何在div中顯示表單中的值
