web-dev-qa-db-ja.com

htmlを使用してphpファイルに!DOCTYPE宣言が必要ですか?

ウェブサイトのコンテンツを含むphpファイルがあります。最初にいくつかの変数を取得し、後でWebサイトのコンテンツで使用するため、ファイルは.phpである必要があります。この例のように:

<?php
$user_name = $_REQUEST['username'];
?>

<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <title>Page Title</title>
    <link rel="stylesheet" href="css/style.css" />
</head>
<body>
Welcome <?php echo $username;?>
</body>
</html>

ファイル拡張子がphpなので、<!DOCTYPE HTML>が必要ですか?また、正しく配置されていますか?タグの前、またはファイルの最初の行に配置する必要がありますか?

<!DOCTYPE HTML>を削除すると、CSSコードの一部が機能しなくなることにも気付きました...

どうもありがとうございました。

29
DanielFox

はい、ブラウザには上記のコードの次の部分しか表示されないため、DOCTYPEが必要です

<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <title>Page Title</title>
    <link rel="stylesheet" href="css/style.css" />
</head>
<body>
Welcome THE USER NAME
</body>
</html>

通常、close PHPタグとDOCTYPEを一緒に配置します?><!DOCTYPE HTML>

26
Graham Walters

他の人が言ったように、!DOCTYPEは、HTMLを出力するphpスクリプトで必要です。イメージを作成している場合、またはbashファイルなどを実行している場合、ストーリーは異なります。

それがどこに属しているかについては、誤ってその前に何かを出力しないように開始することをお勧めしますが、セッション変数を使用している場合やヘッダーを送信している場合は、前にそれらのことを確認する必要がありますDoctypeを宣言します。ヘッダーがphpを介して送信されるか、セッションが開始されるまで、ブラウザー出力(空白も含む)が存在しないことを忘れないでください。

7
Derrick Tucker

死者を復活させてすみませんが、誰も説明しないようですなぜHTMLでdoctypeが必要です(はいPHP HTMLを出力するスクリプトは、末尾のHTMLファイルです)。

Doctypeの宣言は、ブラウザがHTMLを解釈する方法に影響します(これはおそらくwhyで、cssコードはdoctypeなしで動作しなくなる可能性があります)。基本的に2つの方法があります:互換モードと厳格モード。後者は標準に準拠しているため、コードがどのHTML標準に従っているかを常にブラウザに伝える必要があります(最近では、おそらく最も単純なdoctypeを持つHTML5が必要です:<!DOCTYPE html>)。

詳細な説明はこちら をご覧ください。

7
mTorres

はい、ブラウザに送信するのはPHPではなくHTMLであるため、DOCTYPE宣言が必要です。

この宣言は、HTML 5を使用していることと、レンダリング方法をブラウザに伝えます。

2
Oded

Htmlの作成方法に関係なく、常にhtmlにDoctypeを配置する必要があります。

w3 doctypeリスト

2
wajiw

HTMLの場合でも、プレーンHTMLファイルでも、PHPが埋め込まれたHTMLファイルでも、HTMLには同じ規則が適用されます。プレーンHTMLで必要なすべての状況でdoctypeが必要です。

ちなみに、最初のブロックの終わりには空白がありますoh PHPコードとdoctype。Doctypeの前の空白には問題があることを覚えているようです(XHTMLにのみ適用されるかもしれませんが)

2
GordonM

最終的な出力はHTMLであり、Doctypeを使用しています。だから、はい、あなたはそれが必要です。 CSSが破損している場合は、HTMLやCSSが間違っているため、修正する必要があります。

1
John Conde

埋め込みHTMLが含まれている場合は、.phpファイルは、サーバーが動的(PHP)コードをスキャンするように指示されている通常のHTMLファイルです。

有効な!DOCTYPE宣言は、ドキュメントがセマンティックであるために依然として必要です。

1
Jules

PHPは実際にはHTMLとは何の関係もありません。ブラウザが解釈するテキストを大量に吐き出すサーバー側のコードです。

Doctypeは、ブラウザが後続のHTMLを解釈する方法の重要な部分です。

<!DOCTYPE HTML>
<table  style="position:absolute; bottom:20%; right:40%;" width="150">

<!DOCTYPE HTML> PHPファイルでは、一部のスタイルが適切に機能しない、アライメントの問題があります。

0
Thoppil