0

スタックメンバーの皆さん、こんにちは。

現在、表示したいエラーレポートがあります-そして、静的なhtmlをGETエラーで利用できるようにしたいと思います。

現在の私のやり方

apicheck.php?key=dfdf-素敵なフッターを表示します

apicheck.php?url =dfdf-$ _GET['url']セクション内で現在参照されているフッターを表示しません。

私の最終的な目標は、die関数がidのように、3つすべてのgetエラーメッセージでHTMLフッターを表示できるようにするようなHTMLコードを配置することです。

コードを下にあるものから分離できるように、die関数を追加しました

私はまだかなり新しいです、そしてこれはこのようなものへの私の最初のタイプの冒険です

IFセクションの1つに含まれていないため、他の場所にhtmlを追加する方法がわかりませんでした。他の領域にHTMLを追加する方法を誰かが説明してくれれば、ありがたいです。

<?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

4 に答える 4

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>
于 2012-05-31T21:22:39.377 に答える
1

このテキストを参照しているフッターはありますか?

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

その場合は、エラー条件が該当する場合にtrueと評価される別のifステートメントに入れてください。

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;他の各エラーメッセージ条件ブロック内のような行を含めて$error_found、フッターとdie()ステートメントを出力するときにテストすることができます。そうすれば、エラーチェックを追加する場合でも、その条件をfinalifステートメントに追加することを覚えておく必要はありません。

于 2012-05-31T21:16:44.357 に答える
0

文字列を作成し(空の文字列から始めて、エラーメッセージを取得したら連結します)、必要な場所に文字列を出力できます。

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

そして最後に、またはあなたが望むところならどこでも、

echo $errorString;
于 2012-05-31T21:12:21.957 に答える
0

htmlセクションを独自のファイルに配置し、を使用してそれらを含めることで、これをクリーンアップできます。ヒアドキュメントinclude "file.html";を使用して、これらのエコーステートメントを交互に簡略化できます。

于 2012-05-31T21:12:55.497 に答える