if(!empty($_POST))
{
if(empty($_POST['username'])) {die("Please enter a username.");}
....结果是空白页面-带有上述警报。
我想将表单保留在页面上。类似于:
if(empty($_POST['username']))?> <div id="info"><?php{echo "Please enter a username"};?></div> 因此,只需编写一条信息,并从这一点停止代码执行。
发布于 2013-01-10 01:16:54
不是对单个验证错误“停止执行”,而是获取所有错误并将它们显示给用户:
<?php
if (!empty($_POST))
{
// validate form
$errors = array();
if (empty($_POST['username']))
{
$errors['username'] = 'Please enter a username.';
}
if (empty($_POST['address']))
{
$errors['address'] = 'Please enter an address.';
}
if (empty($errors))
{
// save to database then redirect
}
}
?>
<form>
Username:<br />
<input type="text" name="username" value="" /><br />
<?php if (!empty($errors['username'])): ?>
<div class="error">
<?php echo $errors['username'] ?>
</div>
<?php endif ?>
Address:<br />
<input type="text" name="address" value="" /><br />
<?php if (!empty($errors['address'])): ?>
<div class="error">
<?php echo $errors['address'] ?>
</div>
<?php endif ?>
</form>发布于 2013-01-10 01:08:38
要停止执行,但您可以使用:
die( ' <div id="info">Please enter a username</div> ');要允许加载页面的其余部分,您可以使用:
$errors = array();
if(empty($_POST['username'])) {
$errors[] = 'Please enter your username';
}然后,您可以稍后在html中添加
foreach($errors as $error){
echo "<div class='error'>$error</div>;
}发布于 2013-01-10 01:10:56
设置一些标志并返回/重定向到同一页面。在同一页面(带表单的脚本)上,检查标志设置并显示消息。
https://stackoverflow.com/questions/14242564
复制相似问题