T_IF解析错误,我无法解决

时间:2016-07-03 08:31:46

标签: php

我正在尝试创建一个表来帮助一个朋友进行时间表,但是我收到一个PHP错误并且似乎是围绕着圈子

<td >".$Thursday_Job_1_Lunch." mins</td>
<td>" if (empty($Darren_Thursday_Job_1)) && ($Darren_Thursday_Job_1_Same == 'OFF')
    echo "No Darren;"
} 
elseif { $Darren_Thursday_Job_1_Same =='ON' echo "Darren did the same"; }
else { echo .$Darren_Thursday_Job_1;}

"</td>

它是从HTML传递的,Darren_Thursday_Job_1_Same是一个复选框,说Darren已经做了同样的事情,否则它的意思是在输入框中回应什么,如果Darren是&#34; Off&#34;并且文本输入为空它意味着什么都没有。

  

解析错误:语法错误,第227行/home/a2687257/public_html/test3.php中的意外T_IF

是它向我投掷的错误。

感谢回复,

以下是代码中更全面的部分:

$message = "
Hi Rhonda,<br/><br/>

Here is my time sheet for this week<br/><br/>
<style>
table, td, tr {
    align:centre;
    }
</style>
<table>
  <tr>
    <th >Day</th>
    <th >Date</th>
    <th >Location</th>
    <th >Start Time</th>
    <th >End Time</th>
    <th >Total Time</th>
    <th >Lunch</th>
    <th >Darrens</th>
  </tr>
  <tr bgcolor='#d7f2ff'>
    <td  rowspan='3'>Thursday</td>
    <td  rowspan='3'>".$Thursday_Date."</td>
    <td >".$Thursday_Job_1."</td>
    <td >".$Thursday_Start_Time_Job_1_Hours.".".$Thursday_Start_Time_Job_1_Minutes."</td>
    <td >".$Thursday_Finish_Time_Job_1_Hours.".".$Thursday_Finish_Time_Job_1_Minutes."</td>
    <td >".$Thursday_Job_1_Total_Hours."hours ".$Thursday_Job_1_Total_Minutes." mins</td>
    <td >".$Thursday_Job_1_Lunch." mins</td>
    <td>" if (empty($Darren_Thursday_Job_1)) && ($Darren_Thursday_Job_1_Same == 'OFF')
        echo "No Darren;"
    } 
elseif { $Darren_Thursday_Job_1_Same =='ON' echo "Darren did the same"; }
else { echo .$Darren_Thursday_Job_1;}

"</td>
  </tr>
  <tr bgcolor='#d7f2ff'>;
   <td >".$Thursday_Job_2."</td>
    <td >".$Thursday_Start_Time_Job_2_Hours.".".$Thursday_Start_Time_Job_2_Minutes."</td>
    <td >".$Thursday_Finish_Time_Job_2_Hours.".".$Thursday_Finish_Time_Job_2_Minutes."</td>
   </tr>
  <tr bgcolor='#d7f2ff'>
    <td >".$Thursday_Job_3."</td>
    <td >".$Thursday_Start_Time_Job_3_Hours.".".$Thursday_Start_Time_Job_3_Minutes."</td>
    <td >".$Thursday_Finish_Time_Job_3_Hours.".".$Thursday_Finish_Time_Job_3_Minutes."</td>
   </tr>

我的顶部和底部都有<?php

2 个答案:

答案 0 :(得分:0)

正如我在评论中所说,你只需要连接(更别提我在评论中所说的这是一团糟)

 <td >".$Thursday_Job_1_Lunch." mins</td>
 <td>" if (empty($Darren_Thursday_Job_1)) && ($Darren_Thursday_Job_1_Same == 'OFF')
  echo "No Darren;"
  } elseif { $Darren_Thursday_Job_1_Same =='ON' echo "Darren did the same"; } else { echo .$Darren_Thursday_Job_1;}

应该是这样的。

  echo "<td >".$Thursday_Job_1_Lunch." mins</td>td>";
  if (empty($Darren_Thursday_Job_1) && $Darren_Thursday_Job_1_Same == 'OFF'){
      echo "No Darren";
  } elseif ( $Darren_Thursday_Job_1_Same =='ON' ){
      echo "Darren did the same";
  } else {
      echo $Darren_Thursday_Job_1;
  }
  echo "</td>";

很难说出一半缺失时代码是什么。

所以我改变了什么?

在开始时假设echo "

在第一个假定回声结束时添加;

在空(...)后删除)

在&amp;&amp;

之后删除(

在if(...)

之后添加{

在if。

中的回显之后将;"更改为";

3行代码中的7个错误是什么?你的页面顶部确实有<?php,抱歉,但我不得不问。在此代码中,请记住您必须匹配这些"} )对,它们都需要配对。然后你必须以;而不是块结束行,块就像循环块和块。

更新我最初错过了elseif,我会把读出来的东西弄清楚,作为练习给读者。

UPDATE2:

看到完整的代码后,您需要做的是用

替换回声
   $message .=

除非你真的想回声。无论如何,我不认为你可以用点.内联一个if,就像这样......

  $message = " .... bla bla bla ( dont really want to copy all that :( )
  <td >".$Thursday_Job_1_Lunch." mins</td>td>";
  if (empty($Darren_Thursday_Job_1) && $Darren_Thursday_Job_1_Same == 'OFF'){
     $message .= "No Darren";
  } elseif ( $Darren_Thursday_Job_1_Same =='ON' ){
     $message .= "Darren did the same";
  } else {
     $message .= $Darren_Thursday_Job_1;
  }
    $message .= "</td>";

  echo $message;

答案 1 :(得分:0)

PHP非常漂亮,您可以使用一段代码,创建它的功能,然后在您的php文件中的任何位置调用它。 如果您遇到此问题,请尝试使用其他方法等:

   function my_func($par) {
    if (empty($Darren_Thursday_Job_1)) && ($Darren_Thursday_Job_1_Same == 'OFF'){
        echo "No Darren;"
    }elseif ($Darren_Thursday_Job_1_Same =='ON') {
        echo "Darren did the same";
    }else {
        echo .$Darren_Thursday_Job_1;
    }
}

所以现在只需简单地调用ur函数,就像这样:

$result_of_my_func = my_func($data);
    echo $result_of_my_func;