我的PHP Heredoc(EOF)不起作用

时间:2013-11-21 16:00:52

标签: php string heredoc

我正在我的WAMP服务器localhost上测试这个文件,并且我在第5行继续收到错误...我正在尝试检查是否在页面加载时收到我的表单数据,如果是,则应该复制传入值到关联数组。如果没有收到表格数据,它将显示空表格...问题是我的表格甚至没有加载,我相信它与第5行有关我似乎无法弄清楚如何。

谢谢

这是我的PHP / HTML:

<?php
    $message = "";
    function printform()
    {
      print <<<EOF
         <form>
            Customer First Name:<input type='text' name='fname' /><br />
            Customer Last Name:<input type='text' name='lname' /><br />
            Postal Code:<input type='text' name='postal' /><br />
            <input type='submit' value='Send' />
         </form>
EOF;  
    }

    function checkdata($mydata)
    {
       //validate the data

       return "error";
    }

?>

<html>
   <head>
   <title>Day 13 Exercise</title>
   </head>
<body>
      <?php
         if (isset($_REQUEST['fname']))
         {
            //validate data
            $data = $_REQUEST;
            //print_r($data);
            $message = checkdata($data);
            if ($message)
            {
                //there is an error
                //redisplay form and display error message
                print("<h2 style='color:red'>$message</h2>");
                printform();
            }
            else
            {
                //enhance later to write data to database
                print("Data is valid");
            }
         }
         else
         {
            //page is loading for the first time
            printform();
         }
    ?>
</body>
</html>

1 个答案:

答案 0 :(得分:3)

尝试在EOF;之后删除行末尾的两个空格。通常行末尾的空格在PHP中无关紧要,但&lt;&lt;&lt;语法对白色空间非常挑剔。