簡體   English   中英

PHP的粘性表格

[英]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.

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