我为什么会出现意想不到的事情?

时间:2014-03-13 02:54:32

标签: php html

我正在使用PHP和HTML的混合编码,但我似乎无法理解为什么我得到一个eof但当我排除中间的PHP部分时,它工作得很好。我似乎无法理解为什么它会给我一个错误。我将它与我的程序的另一部分进行了比较,当我查看类似的页面时,它可以工作,但这个只是给了我一个意想不到的eof

这是代码。有什么建议吗?

<!DOCTYPE html>
<?php
   require_once( "data.php" );
   error_reporting(0);
?>

<html>
<head>
   <link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css">
</head>
<body>
  <div class="container">
      <div class="page-header">
      <h1>Course Listings</h1>
      </div>
      <table class="table">
      <?php
        foreach( $data as $value  )
        {
      ?>
        <tr>
        <td><a href="course.php"> <? $value[number] ?> </a></td>
        <td> <? $value[name] ?> </td>
        <td> <? $value[instructor] ?> </td>
        </tr>
        <?
           };
      ?>
      </table>
  </div>
 <script src="http://code.jquery.com/jquery.min.js"></script>
</body>
</html>

2 个答案:

答案 0 :(得分:1)

由于禁用了短标记,因此未处理foreach的结束括号。这会导致意外的eof,因为php仍然需要一个结束括号。

在任何地方使用标准标记<?php

答案 1 :(得分:0)

弗雷德二世很可能在评论中说得对。如果这不能完全解决它,请用此替换您的<table>内容,看看它是否有效。正如其他人提到的,<?=

可能存在问题
<table class="table">
<?php foreach($data as $value ): ?>
<tr>
<td><a href="course.php"> <?php echo $value['number']; ?> </a></td>
<td> <?php echo $value['name']; ?> </td>
<td> <?php echo $value['instructor']; ?></td>
</tr>
<?php endforeach; ?>
</table>