解析错误:语法错误,意外 T_STRING 59 [英] Parse error: syntax error, unexpected T_STRING 59

查看:33
本文介绍了解析错误:语法错误,意外 T_STRING 59的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请修复这段代码.这就是它所说的解析错误:语法错误,第 49 行/home/timmycpc/public_html/ItemDatabase/index.php 中的意外 T_STRING"这是第 12 - 49 行:

解决方案

您的线路 $str ... 正在进入和退出 PHP 字符串.这导致解析错误.您必须转义 \" 引号、连接字符串或使用 HEREDDoc.

有关详细信息,请参阅PHP 字符串手册.>

选项 1:(最佳) 您可以对字符串中的双引号进行转义:(并删除 <?php echo)

$str .= "</td><td style='text-align: left !important;><b>名称:</b> $label</td><td><b>项目 ID:</b>$id</td><td><b>会员:</b>$member</td><td><b>费用:</b>$costcoin<;/td><td><b>已修补:</b>$patched</td></tr>";

选项 2: 连接字符串并使用单引号:

$str .='<tr><td><embed src="http://www.url.com/SWFViewer/items.swf?id='.$id.'"></td><td style="text-align: left !important;"><b>名称:</b>' .$标签.'</td><td><b>项目 ID:</b>' .$id .'</td><td><b>成员:</b>' .$会员.'</td><td><b>成本:</b>' .$成本.'硬币</td><td><b>补丁:</b>' .$修补.'</td></tr>';

选项 3:(最慢)使用 HereDoc:

$str .= <<<EOF<tr><td><embed src="http://www.url.com/SWFViewer/items.swf?id=$id"></td><td style="text-align: left !important;"><b>名称:</b>$label</td><td><b>项目 ID:</b>$id</td><td><b>成员:</b>$member</td><td><b>费用:</b>$cost币</td><td><b>补丁:</b>$patched</td></tr>EOF;

Please fix this piece of coding. This is what it says "Parse error: syntax error, unexpected T_STRING in /home/timmycpc/public_html/ItemDatabase/index.php on line 49"This is line 12 - 49:

<?php
$arr = json_decode(file_get_contents("url.com/file.json"),true);
$page = isset($_GET['p']) ? intval($_GET['p']) : 0;
$elementsPerPage = 20;
$elements = array_slice($arr, $page * $elementsPerPage, $elementsPerPage);
$totalpages = intval(count($arr)/$elementsPerPage);
if($_GET['p'] == ""){$_GET['p'] = '0';}
$whatpage = $_GET['p'];
if($whatpage > $totalpages){echo("<tr><td>Sorry this page does not exist. Please return to <a href='?p=0'>page 1</a>.</td></tr>"); exit;}
$link1 = $whatpage-1;
$link2 = $whatpage+1;
if($_GET['p'] == 0){$backbutton = "";} else {$backbutton = "<a href=?p=" . $link1 . ">Previous Page</a>";}
if($_GET['p'] == $totalpages){$nextbutton = "";} else {$nextbutton = "<a href=?p=" . $link2 . ">Next Page</a>";}
if($_GET['p'] == $totalpages or $_GET['p'] == 0){$middle = "";} else {$middle = " | ";}
$pagenav = $backbutton . $middle . $nextbutton;
echo('<tr><td colspan="5" align="center">'.$pagenav.'</td></tr>');
foreach($elements as $item)
{

$label = $item['label'];
$cost = $item['cost'];
$id = $item['paper_item_id'];
$member = $item['is_member'];
$patched = $item['is_bait'];

if ($member == "1") {
$member = "Yes";
}else{
$member = "No";
}

if ($patched == "1") {
$patched = "Yes";
}else{
$patched = "No";
}

$str .= "<tr><td><embed src="http://www.url.com/SWFViewer/items.swf?id=<?php echo($id); ?>"></td><td style='text-align: left !important;'><b>Name:</b> $label</td><td><b>Item ID:</b> $id</td><td><b>Members:</b> $member</td><td><b>Cost:</b> $cost coins</td><td><b>Patched:</b> $patched</td></tr>";
}

echo substr($str, 0, -5);
?></table></center></body></html>

解决方案

Your line $str ... is breaking in and out of a PHP String. Which is causing the parse error. You have to either escape \" quotes, concatenate your strings, or use a HEREDoc.

See the PHP Manual on Strings for more information.

Option 1: (Best) You can escape the double quotes within your string: (And remove the <?php echo)

$str .= "<tr><td><embed src=\"http://www.url.com/SWFViewer/items.swf?id=$id\"></td><td style='text-align: left !important;'><b>Name:</b> $label</td><td><b>Item ID:</b> $id</td><td><b>Members:</b> $member</td><td><b>Cost:</b> $cost coins</td><td><b>Patched:</b> $patched</td></tr>";

Option 2: Concatenate your string and use single quotes:

$str .= '<tr><td><embed src="http://www.url.com/SWFViewer/items.swf?id=' . $id . '"></td><td style="text-align: left !important;"><b>Name:</b> ' . $label . '</td><td><b>Item ID:</b> ' . $id . '</td><td><b>Members:</b> ' . $member . '</td><td><b>Cost:</b> ' . $cost . ' coins</td><td><b>Patched:</b> ' . $patched . '</td></tr>';

Option 3: (Slowest) Use a HereDoc:

$str .= <<<EOF
<tr><td><embed src="http://www.url.com/SWFViewer/items.swf?id=$id"></td><td style="text-align: left !important;"><b>Name:</b> $label</td><td><b>Item ID:</b> $id</td><td><b>Members:</b> $member</td><td><b>Cost:</b> $cost coins</td><td><b>Patched:</b> $patched</td></tr>
EOF;

这篇关于解析错误:语法错误,意外 T_STRING 59的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆