我希望在提交后保留表单值。我找到了类似的方法:
然而;当我运行html文件时,首先:代码不起作用,第二:php代码可以在文本区域看到。我该怎么办。谢谢你的阅读。
<form method="post" action="mail.php">
<label for="Name">Name:</label>
<input type="text" name="Name" id="Name" value="<?php if (isset($_POST['Name'])){echo htmlentities($_POST['Name']); }?>" />
<label for="Subject">Subject:</label>
<input type="text" name="Subject" id="Subject" value="<?php if (isset($_POST['Subject'])){echo htmlentities($_POST['Subject']); }?>"/>
<label for="Phone">Phone:</label>
<input type="text" name="Phone" id="Phone" value="<?php if (isset($_POST['Phone'])){echo htmlentities($_POST['Phone']); }?>"/>
<label for="Email">Email:</label>
<input type="text" name="Email" id="Email" value="<?php if (isset($_POST['Email'])){echo htmlentities($_POST['Email']); }?>"/>
<label for="Message">Message:</label><br />
<textarea name="Message" rows="20" cols="20" id="Message">
<?php if (isset($_POST['Message'])){echo htmlentities($_POST['Message']); }?>
</textarea>
<input type="submit" name="submit" value="Send" class="submit-button" />
</form>
答案 0 :(得分:1)
它不是一个php页面,它是html,将扩展名更改为.php,以便浏览器知道它必须阅读一些php代码。
答案 1 :(得分:0)
只有在提交表单后,您的POSTed值才会存在,因此最初不存在。如果您希望在表单字段中使用“默认”值,则需要将value=''
元素中的代码更改为:
<?php echo (isset($_POST['Name'])) ? htmlentities($_POST['Name']) : 'Default text' ?>