簡體   English   中英

如何在表單中緩存用戶輸入

[英]How to cache user input in form

我正在嘗試將用戶輸入緩存在表單中。 我的代碼是:

    echo '
<form method="POST">
    Name:<br /><input class="contact_name" type="text" name="contact_name" maxlength="32" placeholder="Enter Name" /><br />
    Email:<br /><input class="contact_email" type="text" name="contact_email" maxlength="50" placeholder="Email Address" /><br />
    Subject:<br /><input class="contact_subject" type="text" name="contact_subject" maxlength="50" placeholder="Subject Line" /><br />
    Message:<br /><textarea class="message_area" name="contact_message" rows="10" cols="50" maxlength="1000" placeholder="Message ..." /></textarea><br />
    <input class="submit_button" name="submit_button" type="submit" value="Send" />
</form>
';

我嘗試搜索答案,唯一發現的是添加:

<?php if(isset($contact_name)) { echo $contact_name; } ?>

但是,這對我不起作用,因為我的表單在PHP echo中,並且我正在嘗試制作一個基本的wordpress插件。 每當我將表單帶到echo和之外時,樣式就會混亂並且表單樣式本身會中斷。 因此,我想知道是否可以將我的表單與占位符一起保留在回聲中並能夠緩存用戶輸入,以便當錯誤顯示導致他們沒有填補其中一個斑點時,它不會擦除所有內容。

謝謝。

然后,只需echo並切換到HTML模式:

?>
<form method="post">
Name:<br /><input ... value="<?php echo (isset($contact_name) ? htmlspecialchars($contact_name, ENT_QUOTES, 'UTF-8') : ''; ?>" />
...
<?php

如果需要將此作為字符串,則可以使用輸出緩沖:

ob_start();
?>
<input ... />
<?php

echo ob_get_clean();

暫無
暫無

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

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