我想知道是否可以将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); }
答案 0 :(得分:1)
当然,请使用echo
代替die
。请阅读PHP手册中的介绍。 echo
实际上是您学习的PHP中的第一个字。
答案 1 :(得分:1)
您可以使用新的echo语句更新同一页面。说在页面的末尾删除die()并添加一个echo()。在此echo语句中,您可以按照所需的格式显示响应。加载您当前使用的相同页面以输入值而不是任何其他错误页面以显示错误消息。
答案 2 :(得分: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>