0

事前に感謝します。ログインしていない訪問者がいくつかのページにアクセスするのを止めたかったのですが、SESSION_ の値をチェックし、HTML 部分を

<?php  echo '<html>...</html>'; ?>

しかし、'' と "" の両方のテキスト区切り文字を含む非常に長い html コンテンツがあります。これは、HTML だけでなく、いくつかの JavaScript があるためです。そのため、コードを ECHO で印刷するのではなく、別のメソッドを探しています。この場合はできます。 PHP と HTML コードの混合。非メンバーからページを保護して表示するための解決策または別のアイデアがあります。

このコードを使用して希望のページに戻すことはできますか (? :

 <?php  header("Refresh: 0;url=http://index.php/");  ?>

安全ですか?

4

4 に答える 4

0

' と " の両方を使用するコードをエコーアウトすると、次のように、開始タグと終了タグに一致する文字がエスケープされます。

echo '<p class="someclass">This can\'t be the end.</p>';

また

echo "<p class=\"someclass\">This can't be the end.</p>";
于 2013-07-28T09:16:22.327 に答える
0

" & ' テキスト パラメータが気になる場合は、sublime to などのテキスト エディタを使用して、すべての " to ' を置き換えてください。

テキストエリアの " は " に置き換えることができます。

それからする

echo " <a href='#' value='{$var1}'>二重引用符は、"</a>その他の大規模なコードを意味します ";

したがって、ページの最初からページの最後まで <?php と ?> を使用できます。

于 2013-07-28T09:25:29.943 に答える
0

だから私は ECHO でコードを印刷するのではなく、別の方法を探しています。

[heredocs] スタイルを使用するか、php タグの外側のすべての HTML を出力します。

1- [ヒアドキュメント]

echo <<<HEREDOCS
any string here ' or "
HEREDOCS;

注: 表記は各行の先頭に配置し、スペースやインデントを入れずに改行で終了する必要があります。

2-分離ロジック

<?php
//here is php
//close php
?>
<html>
<head>
</head>
<body>
<p>This will also be ignored by PHP and displayed by the browser.</p> 
....
</body>
<?php
//php again
?>
于 2013-07-28T09:05:34.937 に答える
0

おそらくできることは、ファイルの先頭でセッション変数のチェックを実行し、ユーザーがログインしていない場合は header('Location: index.php'); を使用することです。exit(); が続きます。echo ステートメントの後に表示されるロジックに基づいてヘッダーを送信する必要があり、ステートメントの順序を変更できない場合は、出力バッファリングを使用します。

また、コード ファイル内に HTML と Javascript を含める代わりに、テンプレート エンジンを使用するか、include を使用するか、file_get_contents と echo の組み合わせを使用することを検討してください (コンテンツ プレースホルダーを使用している場合は文字列置換も可能です)。Heredocs と Nowdocs を使用すると、文字列内に単一引用符と二重引用符を簡単に含めることができます。

編集:認証されていないユーザーに表示したいのがエラーメッセージだけの場合は、それらをエラーページにリダイレクトするか、PHP の die(''); を使用できます。ステートメント (echo と exit の組み合わせのようなもの)。

于 2013-07-28T09:37:30.880 に答える