[英]Sticky forms with PHP
我有一個表單,其行為設置為自己。 我希望這樣,如果您已經提交了一次表單(帶有錯誤),則返回先前輸入的值,這樣您就不必完全重做表單了。 我有:
<?php
if (isset($_POST['submit'])) {
$firstname= $_POST['firstname'];
$lastname= $_POST['lastname'];
$output_form= false;
if ($firstname== "empty($firstname) && empty($lastname)) {
echo "you forgot you first and last names!!";
$output_form= true;
}
if (!empty($firstname) && empty($lastname)) {
echo "you forgot your last name.";
$output_form= true;
}
if (empty($firstname) && !empty($lastname)) {
echo "you forgot your firstname.";
$output_form= true;
}
if (!empty($firstname) && !empty($lastname)) {
echo "good job!!";
}
}
else
{
$output_form= true;
}
if ($output_form) {
?>
<form method="post" action=" <?php echo $_SERVER['PHP_SELF']; ?>">
First Name: <input type="text" name="firstname" value="<?php echo $firstname ?>"/>
Last Name: <input type="text" name="lastname" value="<?php echo $lastname ?>"/>
<input type="submit" name="submit" value="submit"/>
</form>
<?php
}
?>
如果表單尚未提交,則$output_form
變量將在if語句中返回true。 但我得到一個錯誤,因為變量$firstname
和$lastname
尚未定義(因為isset($_POST['submit']
返回一個false
值;表單尚未提交)我該怎么做才能保留我的表單“黏”?
設置變量的默認值
$firstname = '';
$lastname = '';
if(isset($_POST['submit'])) {
$firstname = $_POST['firstname'];
// ...
}
你不需要的報價"
在你的代碼的第8行。這里有一個修復。
<?php
if (isset($_POST['submit'])) {
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$output_form = false;
if ($firstname == empty($firstname) && empty($lastname)) {
echo "{you
} forgot you first and last names!!";
$output_form = true;
}
if (!empty($firstname) && empty($lastname)) {
echo "you forgot your last name . ";
$output_form = true;
}
if (empty($firstname) && !empty($lastname)) {
echo "you forgot your firstname . ";
$output_form = true;
}
if (!empty($firstname) && !empty($lastname)) {
echo "good job!!";
}
}
else
{
$output_form = true;
}
if ($output_form) {
?>
<form method="post" action=" <?php echo $_SERVER['PHP_SELF']; ?>">
First Name: <input type="text" name="firstname" value="<?php echo $firstname ?>"/>
Last Name: <input type="text" name="lastname" value="<?php echo $lastname ?>"/>
<input type="submit" name="submit" value="submit"/>
</form>
<?php
}
?>
把$output_form = false;
以上if (isset($_POST['submit'])) {
以前檢查
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.