【问题标题】:My PHP Heredoc (EOF) Will Not Work我的 PHP Heredoc (EOF) 不起作用
【发布时间】:2013-12-06 05:02:41
【问题描述】:

我正在我的 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>

【问题讨论】:

  • 附言。我还没有添加数组,但是表单应该会显示出来,但它不是。只是一直说“解析错误:语法错误,C:\wamp\www\Day4\day13exercise.php 中的意外 T_SL 在第 5 行”

标签: php string heredoc


【解决方案1】:

尝试去掉EOF;之后行尾的两个空格 通常行尾的空格在PHP中无关紧要,但是

【讨论】:

  • 我不相信这一点,但我进行了测试,即使在 ;.. 之后,它也确实与空格混淆了。
猜你喜欢
  • 2020-12-01
  • 1970-01-01
  • 2012-03-25
  • 2016-08-24
  • 2019-02-16
  • 1970-01-01
  • 2014-08-24
  • 2011-04-13
  • 2019-04-27
相关资源
最近更新 更多