2016-07-03 5 views
-1

nicht funktioniert Ich versuche, eine Tabelle zu erstellen, einen Freund mit timesheeting, um zu helfen, aber ich bin ein PHP-Fehler immer und scheinen im Kreis Runde zuT_IF Parse-Fehler, ich kann

<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> 

Es übergeben wird von HTML, Darren_Thursday_Job_1_Same ist eine Checkbox um zu sagen, dass Darren das selbe gemacht hat, ansonsten soll es das in der Eingabebox wiedergeben und wenn Darren "Off" ist und die Texteingabe leer ist soll nichts gesagt werden.

Parse error: syntax error, unexpected T_IF in /home/a2687257/public_html/test3.php on line 227

ist der Fehler, dass es auf mich wirft.

Danke für die Antworten,

Hier ist eine vollständigere Teil des Codes:

$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> 

ich <?php auch an der Spitze zu tun haben und die untere

+0

' "If' muss sein '" . wenn' einfach. (mit dem. dot), durch das mit dem T_IF ist das PHP-Interpreter-Token für einen IF-Block, T [oken] _IF, das wäre also ein php-Parser-Fehler. :) Prost. – ArtisticPhoenix

+0

Es fehlt etwas vor dem 'if (leer ($ Darren_Thursday_Job_1))'. Können Sie einen größeren Teil Ihres Codes, einige Zeilen früher, posten? – PaulH

+0

PaulH ist der Punkt, der fehlt. – ArtisticPhoenix

Antwort

0

Wie ich in der genannten Kommentare Sie brauchen nur die Verkettung (egal was ich in den Kommentaren sagte das ist ein Durcheinander)

<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;} 

Sollte so etwas sein.

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>"; 

schwer zu sagen, was der Code ist, wenn die Hälfte fehlt.

Also was habe ich geändert?

diesen echo " am

Start Angenommene

hinzufügen ; am Ende des ersten Echo angenommen.

entfernt ) nach leer ist (...))

( entfernt, nachdem die & &

hinzugefügt { nach dem if (...)

;"-"; nach dem Echo in verändert das wenn.

Was ist das 7 Fehler in 3 Zeilen Code. Sie haben <?php oben rechts auf der Seite, sorry, aber ich muss fragen. In diesem Code erinnern Sie müssen Paare dieser ", }) übereinstimmen, sie alle benötigen Paare. dann müssen Sie Zeilen mit ; beenden, aber keine Blöcke, Blöcke sind wie Schleifenblöcke und wenn Blöcke.

UPDATE Ich vermisste ursprünglich den elseif, ich werde herausfinden, was darin als Übung für den Leser behoben wurde.

UPDATE2:

nach dem vollständigen Code zu sehen, was Sie tun müssen, ist das echo mit

$message .= 

ersetzt Es sei denn, Sie wollen wirklich nur Echo. Es ist in jedem Fall, ich glaube nicht, dass Sie ein, wenn nur mit dem Punkt ., so etwas wie diese ...

Inline können
$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; 
+0

Wahrscheinlich hat das OP ein Echo oder etwas Wichtiges weggelassen. Sicherlich "". $ Thursday_Job_1_Lunch. " mins "if' sollte dort einen Punkt haben. oder ein'; ' – ArtisticPhoenix

+0

Nevermind das ist ein Durcheinander, fehlt ein') 'auch oder eher ein extra ... Und ein' {' – ArtisticPhoenix

+0

Danke für die Antworten , hier ist ein größeres Stück des Codes: –

0

PHP so schön ist, dass man ein Stück Code nehmen, eine Funktion machen davon und dann rufst du es irgendwo in deiner php-datei an. Wenn Sie Erfahrung dieses Problem sind versuchen Sie einen anderen Ansatz etc:

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; 
    } 
} 

jetzt so einfach nur ur-Funktion aufrufen, wo u es so einfach wollen:

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