2011-09-22 21 views
0

我不斷收到以下錯誤在我的日誌什麼是錯的這個PHP代碼 - 意外T_CONSTANT

PHP Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' 

的錯誤與這條線,但我不知道有什麼地方錯了

<?php 
if ($num != null) { 
    $query_string = 'msisdn=' . $num . '&ref=' . get_post_meta($post->ID, "ref", $single = true) ; 
    echo '<div class="highlight"><a href="http://www.site.com/exJoin?signup=y&' .  htmlentities($query_string) . '"><b>Join Now</b></a></div>'; 
} 
else{ 
    echo '<div class="highlight"><a href="<?php echo TeraWurflHelper::getPhoneHref('+2711111111'); ?>"><b>Join Now</b></a></div>'; 
} 
?> 
+0

正確的縮進有助於發現錯誤。 –

回答

0

試試這個:

<?php 
    if ($num != null) { 
    $query_string = 'msisdn=' . $num . '&ref=' . get_post_meta($post->ID, "ref", $single = true); 
    echo '<div class="highlight"><a href="http://www.site.com/exJoin?signup=y&'.htmlentities($query_string).'"><b>Join Now</b></a></div>'; 
    } else { 
    echo '<div class="highlight"><a href="'.TeraWurflHelper::getPhoneHref('+2711111111').'"><b>Join Now</b></a></div>'; 
    } 
?> 

你的問題是,你在一個已經被echo編輯字符串的中間有一個<?php echo... ?>。這裏面有一個',這是用於封裝字符串的引用類型,該字符串已經是echo ed。你可以逃脫它(如\'),但是這會對您造成<?php echo... ?>echo編到HTML,我懷疑是你想要什麼,而不是你應該刪除此,把函數調用到您的迴音的中間。

如果您使用帶語法高亮顯示的編輯器/ IDE,這應該很容易。如果不是,請查看EditPadNotepad++(編輯)或Eclipse(IDE)。或Google it ...

+0

嗨,我試着改變,如上所述,但得到完全相同的錯誤 –

+0

啊,明白了。我在回聲結束時錯過了分號。謝謝你的幫助 –

1
else{echo '<div class="highlight"><a href="<?php echo  TeraWurflHelper::getPhoneHref('+2711111111'); ?>"><b>Join Now</b></a></div>';} 

存在問題。你看到'+2711111111'。它用 」 ' 」。你必須逃避那個,因爲它會在那裏結束你的字符串。

而且,你不需要打開標籤在他們的PHP ...只是刪除它們,你已經是一個PHP代碼片段。

+0

這仍然會出現錯誤,該行中間的<?php echo>。 – simnom

+0

是的,我已經讀過它了,我已經更新了這篇文章;-)。 – JNDPNT

1

當您已經在PHP標籤中時,添加PHP開啓標籤。你應該更改爲:

<?php 
if ($num != null) { 
    $query_string = 'msisdn='.$num.'&ref='.get_post_meta($post->ID, "ref", $single = true); 
    echo '<div class="highlight"><a href="http://www.site.com/exJoin?signup=y&'.htmlentities($query_string).'"><b>Join Now</b></a></div>'; 
} else { 
    echo '<div class="highlight"><a href="' . TeraWurflHelper::getPhoneHref('+2711111111') . '"><b>Join Now</b></a></div>'; 
} 
?> 
0

您正在嘗試呼應含<?php ?>標籤

字符串
echo '<div class="highlight"><a href="<?php echo TeraWurflHelper::getPhoneHref('+2711111111'); ?>"><b>Join Now</b></a></div>'; 

應該propably是

echo '<div class="highlight"><a href="'.TeraWurflHelper::getPhoneHref('+2711111111').'"><b>Join Now</b></a></div>';