herdoc不在PHP中工作

herdoc不在PHP中工作,php,Php,我正在学习用PHP构建web应用程序。然而,我在使用herdocs从PHP中将一些HTML粘贴到页面中时一直遇到问题。基本上,我想做一些像 echo $htmlPage; 在PHP做了一些数据处理之后。但是,正如标题所暗示的,出于某种原因,它不起作用。我有理由相信这与我如何制作heredoc有关,可以在下面看到 谢谢 $htmlPage = <<<HTML <style> .signup

我正在学习用PHP构建web应用程序。然而,我在使用herdocs从PHP中将一些HTML粘贴到页面中时一直遇到问题。基本上,我想做一些像

echo $htmlPage;
在PHP做了一些数据处理之后。但是,正如标题所暗示的,出于某种原因,它不起作用。我有理由相信这与我如何制作heredoc有关,可以在下面看到

谢谢

$htmlPage = <<<HTML
            <style>
                .signup
                {
                    border: 1px solid #999999; 
                    font: normal 14px helvatica; 
                    color: #444444; 
                }
            </style>

            <script src="form_validation.js">

            </script>

        </head>
        <body>

            <table border="0" cellpadding="2" cellspacing="5" bgcolor="#eeeeee">
                <th cellspan="2" align="center">Sign Up Form</th>
                <form method="post" action="addUser.php" onsubmit="return validate(this)">
                    <tr> 
                        <td>Forename</td>
                        <td><input type = "text" maxlength="32" name="forename"/></td>
                    </tr>

                    <tr> 
                        <td>Surname</td>
                        <td><input type = "text" maxlength="32" name="surname" /></td>
                    </tr>

                    <tr> 
                        <td>Username</td>
                        <td><input type = "text" maxlength="16" name="username" /></td>
                    </tr>

                    <tr> 
                        <td>Password</td>
                        <td><input type = "password" maxlength="12" name="password" /></td>
                    </tr>

                    <tr> 
                        <td>Age</td>
                        <td><input type = "text" maxlength="3" name="age" /></td>
                    </tr>

                    <tr> 
                        <td>E-mail</td>
                        <td><input type = "text" maxlength="32" name="email" /></td>
                    </tr>

                    <tr> 
                        <td colspace="2" align="center">
                        <td><input type = "submit" value="Sign Up"/></td>
                    </tr>

                </form>
            </table>

        </body>
    </html>
HTML; 

$htmlPage=您有一个尾随空格,并且在手册的结束分隔符后没有新行,这两者都是必需的

请务必注意,具有结束标识符的行不能包含除分号(;)以外的任何其他字符。这特别意味着标识符不能缩进,分号前后不能有空格或制表符。认识到结束标识符之前的第一个字符必须是本地操作系统定义的换行符,这一点也很重要。这在UNIX系统(包括Mac OS X)上是\n。结束分隔符后面还必须跟一个换行符

-

错误报告应该抛出一个
意外的文件结尾
。下面是一个功能示例:

$htmlPage = <<<HTML
            <style>
                .signup
                {
                    border: 1px solid #999999; 
                    font: normal 14px helvatica; 
                    color: #444444; 
                }
            </style>

            <script src="form_validation.js">

            </script>

        </head>
        <body>

            <table border="0" cellpadding="2" cellspacing="5" bgcolor="#eeeeee">
                <th cellspan="2" align="center">Sign Up Form</th>
                <form method="post" action="addUser.php" onsubmit="return validate(this)">
                    <tr> 
                        <td>Forename</td>
                        <td><input type = "text" maxlength="32" name="forename"/></td>
                    </tr>

                    <tr> 
                        <td>Surname</td>
                        <td><input type = "text" maxlength="32" name="surname" /></td>
                    </tr>

                    <tr> 
                        <td>Username</td>
                        <td><input type = "text" maxlength="16" name="username" /></td>
                    </tr>

                    <tr> 
                        <td>Password</td>
                        <td><input type = "password" maxlength="12" name="password" /></td>
                    </tr>

                    <tr> 
                        <td>Age</td>
                        <td><input type = "text" maxlength="3" name="age" /></td>
                    </tr>

                    <tr> 
                        <td>E-mail</td>
                        <td><input type = "text" maxlength="32" name="email" /></td>
                    </tr>

                    <tr> 
                        <td colspace="2" align="center">
                        <td><input type = "submit" value="Sign Up"/></td>
                    </tr>

                </form>
            </table>
        </body>
    </html>
HTML;
echo $htmlPage;

$htmlPage=Oh。我想我应该详细阐述一下。我的方式是,我有一个HTML页面,其中包含一个调用我的PHP(上面的代码取自该页面)的表单,以执行输入验证和输入卫生。验证PHP页面首先对包含herdeoc的变量进行dexlaring。但是,当提交表单时,它会将我带到一个空白页。我将一条echo语句放在herdeoc声明之后,然后再放在任何进行处理的PHP代码之前,只是为了看看herdeoc是否是问题所在。既然它没有显示出来,我有理由相信问题是出在上面了!这就解决了问题。哈哈!谢谢。好的,我已经把它移到了一个答案。请接受。如果你之前的问题也解决了,你也应该接受这个答案。