需要帮助在简单的PHP中找到错误

时间:2012-05-21 06:23:52

标签: php

我已经尝试了大约2个小时,但我找不到错误。变量从html表单传递到此页面,我正在尝试为单词“hospitol”创建一个过滤器,并将其重新拼写为“hospital”。错误可能是微不足道的,但我找不到它。非常感谢任何帮助。

<?php
if ($_POST["location"] == "hospitol") 
    function convertSpace($string){
        return str_replace("Hospitol", "Hospital", $string);
    }
    $string = $_POST["location"];
    echo filter_var($string, FILTER_CALLBACK, array("options"=>"convertSpace"));
else
    $location=$_POST["location"];
?>

apache记录的错误;

PHP Parse error:  syntax error, unexpected T_STRING, expecting '(' in
home/linux/public/job_scheduler_input_check.php on line 5, referer:
http://localhost/calendar.php

注意:apache引用的行不正确,因为我从较大的文件中取出它。

5 个答案:

答案 0 :(得分:2)

此代码的结构方式不正确,您在一行条件后定义了一个函数。为清晰起见,您应使用{}括号以正确包围您的陈述。该函数也应该在开头定义。

<?php
function convertSpace($string){return str_replace("Hospitol", "Hospital", $string);}
if ($_POST["location"] == "hospitol") 
{
  $string = $_POST["location"];
  echo filter_var($string, FILTER_CALLBACK, array("options"=>"convertSpace"));
}
else
{
  $location=$_POST["location"];
}
?>

答案 1 :(得分:1)

你的{}在哪里开始关闭if else条件的标签? 你的syantax错了。应该是

    <?php
         if ($_POST["location"] == "hospitol") {
         function convertSpace($string){return str_replace("Hospitol", "Hospital", $string);
         $string = $_POST["location"];
         echo filter_var($string, FILTER_CALLBACK, array("options"=>"convertSpace")); }
        else {
               $location=$_POST["location"]; 
             }
 ?>

答案 2 :(得分:0)

我认为你不能在if语句中声明一个函数。使用{}作为if并移出函数。

答案 3 :(得分:0)

  <?php
    if ($_POST["location"] == "hospitol") {
    function convertSpace($string){
        return str_replace("Hospitol", "Hospital", $string);
     }
    $string = $_POST["location"];
    echo filter_var($string, FILTER_CALLBACK, array("options"=>"convertSpace"));
    } 
    else
    $location=$_POST["location"];
    ?>

答案 4 :(得分:0)

请检查您是否有条件,这是错误的,即使在条件下调用函数也不是一个好习惯。