Writing PHP in <head>


Writing PHP in <head>

<head>标记中存储PHP变量/值有效吗?用这种格式的HTML编写PHP有什么缺点或优点吗?这有关系吗?

我通过W3C验证器对以下代码进行了采样,作为直接输入

<!DOCTYPE html> 
<html>
<head>
  <title>PHP Head Test</title>
  <?php $data; ?>
</head>
</html>

我得到一个错误:

Line 5, Column 4: Saw <?. Probable cause: Attempt to use an XML processing instruction in HTML. (XML processing instructions are not supported in HTML.)
<?php $data; ?>

但我猜这是因为它正在验证一个包含php代码的.html文件

我计划使用PHP将经过预处理的MySQL数据存储到一个变量中,以便在Javascript中使用。<head>是否是存储这些值的合适位置?

注意:我不是想在脑子里打印数据,那太傻了。我询问如何在<head>中存储从MySQL到PHP(在Javascript中使用)的预处理数据。

不,将PHP变量存储在头中不是正确的方法。事实上,当你这样做时,你的变量不会存储在头内,PHP是服务器端,HTML/CSS/Javascript是客户端。

您希望在输出任何HTML之前存储变量。

然而,如果你这样做:

<head>
    <title>PHP Head Test</title>
    <?php $data; ?>
</head>

它实际上并没有做任何事情,如果你想显示它,你可以使用echo。如果之前没有声明$data,那么此代码除了声明$data之外什么都不做。

通常,您应该将大部分PHP代码从HTML文件中取出,它们应该在完全不同的文件中,并且PHP代码应该包括HTML文件。在这种情况下,您放入HTML文件中的PHP代码将可以访问包含该代码的文件中可用的所有PHP变量。

我计划使用PHP将经过预处理的MySQL数据存储到要在Javascript中使用的变量。这是存放的合适地方吗这些价值观?

就这样做吧;

<script>
    function Myfunction() {
        var myVariableGeneratedByPhp = <?php echo $data; ?>;
        // use your variable here
    }
</script>

您将不得不像这样回显变量:

  <?php echo $data; ?>

使用它是有效的,但不适用于大型脚本。在那之后调试会很复杂。be如果你想生成一个动态标签,可以使用它。例如,你需要它。

但你只能打印数据,所以要更改:

<?php $data; ?>

应该是:

<?php echo $data; ?>