すべてのタイプの PHP 構文で、条件には括弧が必要です。
<?php if (!isset($_GET["bodyonly"])): ?><html>
<head>
<title>TEST</title>
</head>
<body>
<p>Up!</p>
<?php endif; ?><p>Down!</p><?php if (!isset($_GET["bodyonly"])): ?>
</body>
</html><?php endif; ?>
また、コードに最新の構造を使用することを検討しましたか? 中括弧と PHP を HTML ラッパーではなくプログラミング言語として使用することで、条件付きで何が実行されているかを簡単に確認できます。
<?php
$status="Up";
// $status="Down";
$header="<html>\n\t<head>\n\t\t<title>TEST</title>\n\t</head>\n\n <body>\n";
$footer=" </body>\n</html>\n";
if (!isset($_GET["bodyonly"])) {
print $header;
}
printf("\t<p>%s</p>\n", $status);
if (!isset($_GET["bodyonly"])) {
print $footer;
}
または、楽しみのために、次のこともできます。
<?php
$status="Up";
// $status="Down";
$header="<html>\n\t<head>\n\t\t<title>TEST</title>\n\t</head>\n\n <body>\n";
$footer=" </body>\n</html>\n";
print isset($_GET["bodyonly"]) ? "" : $header;
printf("\t<p>%s</p>\n", $status);
print isset($_GET["bodyonly"]) ? "" : $footer;
または(これはばかげているだけです):
<?php
$status="Up";
// $status="Down";
$header=""; $footer="";
if (!isset($_GET["bodyonly"])) {
$header="<html>\n\t<head>\n\t\t<title>TEST</title>\n\t</head>\n\n <body>\n";
$footer=" </body>\n</html>\n";
}
print $header . sprintf("\t<p>%s</p>\n", $status) . $footer;
php.net の構文に関する説明をご覧ください。