首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何替换die()语句?

如何替换die()语句?
EN

Stack Overflow用户
提问于 2013-01-10 01:07:40
回答 3查看 825关注 0票数 0
代码语言:javascript
复制
if(!empty($_POST))
{
if(empty($_POST['username'])) {die("Please enter a username.");}
....

结果是空白页面-带有上述警报。

我想将表单保留在页面上。类似于:

代码语言:javascript
复制
if(empty($_POST['username']))?> <div id="info"><?php{echo "Please enter a username"};?></div> 

因此,只需编写一条信息,并从这一点停止代码执行。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-10 01:16:54

不是对单个验证错误“停止执行”,而是获取所有错误并将它们显示给用户:

代码语言:javascript
复制
<?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>
票数 1
EN

Stack Overflow用户

发布于 2013-01-10 01:08:38

要停止执行,但您可以使用:

代码语言:javascript
复制
die( ' <div id="info">Please enter a username</div> ');

要允许加载页面的其余部分,您可以使用:

代码语言:javascript
复制
$errors = array();
if(empty($_POST['username'])) { 
    $errors[] = 'Please enter your username'; 
}

然后,您可以稍后在html中添加

代码语言:javascript
复制
foreach($errors as $error){
    echo "<div class='error'>$error</div>;
}
票数 3
EN

Stack Overflow用户

发布于 2013-01-10 01:10:56

设置一些标志并返回/重定向到同一页面。在同一页面(带表单的脚本)上,检查标志设置并显示消息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14242564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档