修复php中的解析错误

时间:2012-12-18 06:22:55

标签: php

当我尝试加载页面时,如何更正此错误

Parse error: syntax error, unexpected $end in C:\xampp\htdocs\mysite\index.php on line 46

第46行的代码是

下面的代码
?>

我的代码就是这个

<?php session_start();?>

<!DOCTYPE html>
<html lang="en">
<?php
if (isset ($_post['submit'])){
    $error_count = 0;
    $error_message = array();
//trim removes the spaces
  $validate = trim(strtolower($_post['validate']));
  if($validate != get_answer() ){ 
  $error_count++;
  $error_message['validate'] = "validation error";
   }  
 echo $error_count;
if( $error_count > 0){
?>
<form method="post">
<h1> <?php create_function()?></h1>
<label for="validation">Validate:</label>
<input type="text" name="validate" id="validate" />
<?php if(isset($error_message['validate'])):?>
<span style="color: red"><?php echo $error_message['validate']?></span>
<?php endif;?>
<span style="color: green">Reenter Answer to Question</span>
<br/>
<input type="submit" name="submit" value="email">
</form>
<?php
}
else{
?>
<form method="post">
<h1> <?php create_function()?></h1>
<label for="validation">Validate:</label>
<input type="text" name="validate" id="validate" />
<br/>
<input type="submit" name="submit" value="email">
</form>
<?php
}
?>

我究竟做错了什么?我该如何解决?

2 个答案:

答案 0 :(得分:3)

你错过了一个右括号}我猜它应该在最后一个php结束标记?>

之前出现
 <!DOCTYPE html > <html lang = "en" >
  <? php if (isset($_post['submit'])) {
    $error_count = 0;
    $error_message = a rray(); //trim removes the spaces $validate=t rim(strtolower($_post[
    'validate']));
    if ($validate != g et_answer()) {
        $error_count++;
        $error_message['validate'] = "validation error";
    }
    echo $error_count;
    if ($error_count > 0) { ?>
    <form method="post">

<h1> <?php create_function() ?></h1>

        <label for="validation">Validate:</label>
        <input type="text" name="validate" id="validate" />
        <?php if (isset($error_message['validate'])) : ?>
<span style="color: red"><?php echo $error_message['validate'] ?></span>

        <?php
    endif; ?>
<span style="color: green">Reenter Answer to Question</span>

            <br/>
            <input type="submit" name="submit" value="email">
    </form>
    <?php } else { ?>
    <form method="post">

<h1> <?php create_function() ?></h1>

        <label for="validation">Validate:</label>
        <input type="text" name="validate" id="validate" />
        <br/>
        <input type="submit" name="submit" value="email">
    </form>
    <?php }
} //guess you are missing this 
?>

答案 1 :(得分:1)

如Dan所述,文件末尾的错误很可能缺少右括号}
您可以使用IDE中的工具对其进行调试。至于我,我正在使用Adobe Dreamweaver并使用其 Balance Braces 工具。 如果您有正确的开括号和右括号,它会突出显示整个块。 我希望你的IDE中有这个工具,你可以调试它。

enter image description here