Php 如何在死后显示我的页脚()

Php 如何在死后显示我的页脚(),php,html,footer,Php,Html,Footer,这里是HTML头代码 <div id="content"> <?php $checkvars = array('subject','message'); foreach ($checkvars AS $checkvar) if (strpos($_REQUEST[$checkvar],'{php}')!==false) die("We are sorry, but you cannot use \"{php}\" in a ticket submission. If you d

这里是HTML头代码

<div id="content">
<?php
$checkvars = array('subject','message');
foreach ($checkvars AS $checkvar) if (strpos($_REQUEST[$checkvar],'{php}')!==false) die("We are sorry, but you cannot use \"{php}\" in a ticket submission. If you do have a legitimate issue, please press the back 
button in your browser and then change any instances of \"{php}\" to \"(php)\" so that your ticket may be submitted. Keep in mind that in the event that you are trying to exploit our system, we log and report all hack attempts to IC3.GOV.");
?>
</div>

HTML页脚代码在这里

<div id="content">
<?php
$checkvars = array('subject','message');
foreach ($checkvars AS $checkvar) if (strpos($_REQUEST[$checkvar],'{php}')!==false) die("We are sorry, but you cannot use \"{php}\" in a ticket submission. If you do have a legitimate issue, please press the back 
button in your browser and then change any instances of \"{php}\" to \"(php)\" so that your ticket may be submitted. Keep in mind that in the event that you are trying to exploit our system, we log and report all hack attempts to IC3.GOV.");
?>
</div>

我使用上述代码作为计费系统,通过提交支持票证来阻止利用eval进行攻击。页眉工作正常,但页脚不会显示(因为我假设是die命令)。我对编码知之甚少(上面的代码不是我写的,是别人在另一个网站上分享的),希望有人能帮我把我的页脚显示出来。

像这样创建你自己的函数

died($message)
{
    //call footer
    die($message)
}

//Use it like this

died('You did something wrong');
你不能

您要求脚本立即终止-那么在这之后您应该如何输出代码

[听起来像是我多年前遇到的CS问题,当时一位客户抱怨他们的数据库在机器断电后严重关闭-因为只有我才能编写在机器关闭时运行的特殊代码来整齐地关闭表]

您可以使用它来定义一个在
死亡()时运行的函数
在脚本终止之前被调用

或者,您可以将上面代码中的
die()
替换为一个函数,该函数在最后调用
die()

在HTML的“内部”做任何严肃的工作都是一个糟糕的结构。在开始任何类型的输出之前,执行所有验证、数据库查询、文件操作等

<?php

// check $_POST
// update the database
// validate data
// water the plants
// DECIDE WHAT THE USER SHOULD SEE

?>
<html>
...
</html>

...

如果检测到任何错误或无效操作,只需输出完整的错误页面即可。MVC是一种非常强调这一点的体系结构,其中控制器逻辑和视图是明确分开的。试着从这种结构中学习。

IC3.gov是瑞士发达货币市场被关闭的原因

死而复生。改为使用
break
。我建议,如果您发现提交的信息有问题,只需打印出页脚或其他内容,然后使用die();答案是不要死。你必须重新构造你的应用程序以使其以不同的方式失败。这会将消息放在页脚下面。试试这个:
函数死($message){echo$message;调用_footer();die();}
@JosephSilber,代码不起作用。它所做的只是返回一张空白页。@Isaiah-当然不是。您必须实际创建
call\u footer
函数!C有
atexit
函数,所以OP可能在寻找类似的东西。听起来更像是在试图找到一个不存在的问题的解决方案。die()不是一个正常的代码路径,并且实际上不应该发生在生产代码上