2

我想知道是否可以将 PHP 中的返回值添加到页面内容中,而不仅仅是显示为错误。

目前,当提交表单时,它会生成:

在此处输入图像描述

我想要的是,当提交表单并显示错误/成功消息时,页面的内容也应该在那里。像这样:

在此处输入图像描述

这是我的代码:

if($_POST)
{
    $newTopic = $forum->newTopic();


        /*
         * Return codes:
         * 1: No title
         * 
         * 100: Success
         */

    switch($newTopic)
    {

            case 1:
                $error = 'You have not entered any title.';
                $stop = true;
            break;

            //If no error = success.    
            case 100:
                $success = "Success! TOpic created";
            break;
    }

    die($error);
}

我怎样才能得到这个?

编辑:

页面的 HTML 是这样生成的:

loadmodule('forum');
$forum= new Forum;

if(file_exists(HEADER)) { include_once(HEADER); }
if($contents) { print $contents; }  
if($_POST)
{
    $newTopic = $forum->newTopic();


        /*
         * Return codes:
         * 1: No title
         * 
         * 100: Success
         */

    switch($newTopic)
    {

            case 1:
                $error = 'You have not entered any title.';
                $stop = true;
            break;

            //If no error = success.    
            case 100:
                $success = "Success! TOpic created";
            break;
    }

    die($error);
}


if(file_exists(FOOTER)) { include_once(FOOTER); }
4

3 回答 3

1

您可以使用新的 echo 语句更新同一页面。在页面末尾说删除 die() 并添加一个 echo()。在此回显语句中,您可以以您想要的任何格式显示响应。加载您当前用于输入值的同一页面,而不是任何其他错误页面以显示错误消息。

于 2013-06-08T18:43:40.717 回答
1

当然,使用echo而不是die. 请阅读 PHP 手册中的介绍。echo从字面上看,它是您学习过的 PHP 中的第一个单词。

于 2013-06-08T18:33:36.070 回答
0
<?php
if($_POST)
{
$newTopic = $forum->newTopic();


    /*
     * Return codes:
     * 1: No title
     * 
     * 100: Success
     */

switch($newTopic)
{

        case 1:
            $mssg = 'You have not entered any title.';
            $stop = true;
        break;

        //If no error = success.    
        case 100:
            $mssg = "Success! TOpic created";
        break;
    }


 }
 ?>
 <html>
 <head>
 </head>
 <body>
 <div>
    <p><?php if(!empty($mssg)) echo $mssg;?></p>
 </div>
 <div>
   ------------------
   -----------------
</div>
</body>
</html>
于 2013-06-08T18:52:52.963 回答