0

こんにちは、 http://www.domain.com/であるメイン ページにのみ表示する HTML を取得しようとしています... 以下のコードを書きましたが、HTML が表示されているにもかかわらず動作しません。ページ、何か不足していますか

<?php
$hweb .= 'http://' .$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
if ($hweb == 'http://www.domain.com/'):
?>          
                    <div style="margin:0 auto;">
                        <div style="float:left">



<?php endif; ?>
4

4 に答える 4

1

まず、変更してください

$hweb .= 'http://' .$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];

の中へ

$hweb = 'http://' .$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];

$hweb はどこかで初期化されている可能性があります。

2番:

「http://www.domain.com/somename.php」をリクエストする限り、if 条件は決して実行されません。REQUEST_URI は、URL の書き換えを使用する場合を除いて、常に「/somename.php」を保持します。

3 番目: すべての呼び出しが「http://domain.com」ではなく「http://www.domain.com」に送信されるようにします。サブドメインの設定は非常に複雑な場合があります。

于 2012-07-03T19:11:11.657 に答える
0

また間違えるリスクが..

ヘッダーをインクルードする前にメインファイルで変数を初期化しないのはなぜですか

<?php 
$mainfile = true;
?>

次にヘッダーに

<?php

if ($mainfile===true)
....

このようにして、メイン ファイルは任意の名前で呼び出すことができ、どこにでも配置できます。

于 2012-07-03T19:33:46.513 に答える
0

解決策 1: 上記のコードが ' http://www.domain.com/index.php ' ファイル内に記述されている場合、問題なく動作する可能性があります。解決策 2: それ以外の場合は、".=" が余分な値 b4 'http...' を追加しないように、このコードの前に $hewb が null 値で設定されていることを確認してください。

$hweb = '';

echo $hweb .= 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

于 2013-03-24T15:05:47.920 に答える
-3

これは、HTMLがphpファイルではインラインであるが、PHPタグの外側にあるためです。if内にHTMLをエコーするだけです。

if ($hweb == 'http://www.domain.com/')
{
    echo '<div style="margin:0 auto;">';
    echo '<div style="float:left">';
}

または、HTMLがたくさんある場合は、このようにすることができます

<?php 
    ob_start();
?>

<html>
<body>
<p>This HTML only be echoed </p>
</body>
</html>

<?php   
    $hweb .= 'http://' .$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; 
    if ($hweb == 'http://www.domain.com/'):
    {
        ob_end_flush();
    }
    else
    {
        ob_end_clean(); // Probably not needed
    }

?>           
于 2012-07-03T18:26:09.090 に答える