这个PHP代码有什么问题 - 意外的T_CONSTANT

时间:2011-09-22 09:27:32

标签: php

我在日志中不断收到以下错误

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

4 个答案:

答案 0 :(得分:1)

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

存在问题。你看到了'+2711111111'。它用 ” ' ”。你必须逃脱那个,因为它会在那里结束你的字符串。

此外,你不需要在他们的php中打开标签...只需删除它们,因为你已经在php-snippet中。

答案 1 :(得分: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>';
}
?>

答案 2 :(得分: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>';
   }
?>

您的问题是您在<?php echo... ?>编辑的字符串中间有一个echo。其中包含',这是用于封装已经echo编辑的字符串的引用类型。你可以逃脱它(比如\'),但这会导致<?php echo... ?>echo加入你的HTML,我怀疑你想要的是什么,而你应该删除它并放函数调用到echo的中间。

如果您使用带语法高亮的编辑器/ IDE,这应该很容易找到。如果不是,请查看EditPadNotepad++(编辑)或Eclipse(IDE)。或Google it ......

答案 3 :(得分:0)

您正在尝试回显包含<?php ?>标记的字符串

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

应该是

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