解析错误:语法错误,意外'}',期待','或';'问题

时间:2013-07-24 23:23:36

标签: php error-handling

我一直在努力在代码中找到错误。任何帮助将不胜感激。

<?php 
   if(isset($_SESSION["pkg_error"]));
?>
<div class="error_msg_cont">
<?php 
     foreach($_SESSION["pkg_error"] as $error)
     {
         echo $error. "<br>"
     } 
 ?>
 </div>
<?php 
     if(isset($_SESSION["msg"]))
     {
          echo '<div class="error_msg_cont">'. $_SESSION["msg"] .'<div>'
     }
?>

编辑,我更新了代码,但仍然出现错误。我更新了这个错误吗?一直试图解决这个问题超过3个小时。这是我得到的错误: 解析错误:语法错误,意外T_STRING,期待','或';'

<?php 
    if(isset($_SESSION["pkg_error"])) 
?>
<div class="error_msg_cont">
<?php 
    foreach($_SESSION["pkg_error"] as $error)
    { 
        echo $error. "<br>"; 
    } 
?>
</div>
<?php 
    if(isset($_SESSION["msg"]))
    {
        echo "('<div class="error_msg_cont">'. $_SESSION["msg"] .'<div>')"; 
    } 
?>

2 个答案:

答案 0 :(得分:0)

PHP语句应以分号终止:

echo $error. "<br>";

这种情况也会进一步发生:

echo '<div class="error_msg_cont">'. $_SESSION["msg"] .'<div>';

你有时可以侥幸逃脱,但是对于echo语句,它不知道回声应该在哪里完成。

另请注意,您的开场if语句会立即由该行末尾的分号结束。

已添加在最后一个echo语句(修订后的代码)中,引号完全没有问题,在此更正:

    echo "<div class='error_msg_cont'>" . $_SESSION["msg"] . "<div>"; 

但是第一个if语句仍然无效。它后面应该是大括号,如果if条件是true,则包含需要执行的语句。

答案 1 :(得分:0)

<?php if(isset($_SESSION["pkg_error"]))?>
  <div class="error_msg_cont"><?php foreach($_SESSION["pkg_error"] as $error)
{
    echo $error. "<br>";
} ?></div>
<?php if(isset($_SESSION["msg"]))
{
     echo '<div class="error_msg_cont">'. $_SESSION["msg"] .'<div>';
}
?>

在你的回声之后你缺少分号。在你的第一个if语句

之后还有不需要的分号