坚持将Html代码放在某些PHP代码中

时间:2012-05-31 21:09:05

标签: php html

你好堆栈成员,

我目前有一个我想要显示的错误报告 - 而且我喜欢一个静态的html片段可用于我的GET错误。

目前我拥有它的方式

apicheck.php?key = dfdf - 显示一个漂亮的页脚

apicheck.php?url = dfdf - 在$ _GET ['url']部分中不显示当前引用的页脚。

我的最终目标是将html代码放在die函数所在的位置,以便让所有3条获取错误消息能够显示HTML页脚

我添加了die函数,以便我可以将代码与

下面的代码分开

我还是很新的,这是我第一次冒险进入这样的

我不太确定如何将html添加到其他任何地方,因为它不会在IF部分之一中 - 如果有人可以解释如何将其添加到其他区域,请感激不尽

<?php
echo "<html><head><title>Error Report</title><style>
<!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}.style1 {font-size: 9px}
-->
</style> </head><body>
<h1>API Authentication System 1.0.1 GPX</h1>
<HR size='1' noshade='noshade'>";
if(empty($_GET)){
    echo "<p><b>Error Name:</b> <u>VAR_M</u><br>";
    echo "<p><b>Description:</b> <u>No Variables Sent</u><br><br>";
}
if(empty($_GET['key'])){
echo "<p><b>Error Name:</b> <u>API_KEY</u><br>";
echo "<p><b>Description:</b>  <u>Missing API-Key</u><br><br>";
}
if(empty($_GET['url'])){
echo "<p><b>Error Name:</b> <u>URL_M</u><br>";
echo "<p><b>Description:</b>  <u>Missing URL</u><br>";
echo "</u></p><HR size='1' noshade='noshade'>
<h3 align='center' class='style1'>X Auth /1.0.1.GPX</h3>
</body>
</html>";              
die();
}
else
?>

4 个答案:

答案 0 :(得分:1)

您引用此文本的页脚是什么?

echo "</u></p><HR size='1' noshade='noshade'>
<h3 align='center' class='style1'>X Auth /1.0.1.GPX</h3>
</body>
</html>";

如果是这样,只需将其放在一个单独的if语句中,如果任何错误条件适用,则该语句的结果为true:

if(empty($_GET) or empty($_GET['key']) or empty($_GET['url']) {
    echo "</u></p><HR size='1' noshade='noshade'>
    <h3 align='center' class='style1'>X Auth /1.0.1.GPX</h3>
    </body>
    </html>"
    die();
}

更好的是,您可以在每个其他错误消息条件块中包含类似$error_found = 1;的行,然后在打印页脚和die()语句时测试$error_found。这样,如果添加其他错误检查,则不必记住也将该条件添加到最终的if语句中。

答案 1 :(得分:1)

如果您想轻松重用相同的html结构,可以使用函数来回显它。

function echoError($name, $description) {
    echo "<p><b>Error Name:</b> <u>$name</u><br>";
    echo "<p><b>Description:</b> <u>$description</u><br><br>";
}

让整个代码看起来像这样:

<html>
<head>
  <title>Error Report</title>
  <style>
<!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}.style1 {font-size: 9px}
-->
  </style>
</head>
<body>
  <h1>API Authentication System 1.0.1 GPX</h1>
  <HR size='1' noshade='noshade'>";
  <?php
    $error_found = false;
    if(empty($_GET)){
        echoError("VAR_M", "No Variables Sent");
        $error_found = true;
    }
    if(empty($_GET['key'])){
        echoError("API_KEY", "Missing API-Key");
        $error_found = true;
    }
    if(empty($_GET['url'])){
        echoError("URL_M", "Missing URL");
        $error_found = true;
    }
    if ($error_found) {
        echo "<HR size='1' noshade='noshade'><h3 align='center' class='style1'>X Auth /1.0.1.GPX</h3>";
    }
  ?>
</body>
</html>

答案 2 :(得分:0)

您可以构建一个字符串(以空字符串开头并在获取时将错误消息连接到它),然后在任意位置打印字符串。

$errorString = "";
if(empty($_GET)) {
    $errorString .= "<p><b>Error Name:</b> <u>VAR_M</u><br>";
...

最后,无论你想要什么,

echo $errorString;

答案 3 :(得分:0)

您可以通过将html部分放在他们自己的文件中然后使用include "file.html";包含它们来清理它。您可以使用Heredoc

替代地简化这些echo语句