【发布时间】:2014-12-31 22:00:31
【问题描述】:
我正在我的 Wordpress 网站中编写一些可以运行的 php 代码直到我尝试在脚本中使用一个变量。操作说明:
- 系统显示需要充当可点击元素的 iframe
- iframe 加载需要几秒钟,导致它覆盖标签,因此 iframe 不可点击。
- 最后会重置 css 并在延迟后分配 href 属性,使 iframe 再次可点击。
- 如果我对 URL 进行硬编码,一切都很好,但如果我使用变量(以便可以动态分配 url),我会收到“意外的 '$MYURL' (T_VARIABLE)”错误。李>
- 此脚本段中未设置的所有变量均已预先设置,并且在没有 $MYURL 变量的情况下都可以正常工作
违规行是 348,或接近底部,并且是
$(this).attr('href', '<?php echo $MYURL; ?>');
这是之前在第 314 行定义的,即
$MYURL = "http://trailmeister.com/TOPO_VIEWS/showmap.php?gpx={$row[gpx_file]}&trail={$_GET[tname]}";
我很难过。在否决我之前,如果您需要更多信息,请告诉我。这段代码的关键部分在最后的部分。这是代码:
<?php
if ( is_user_logged_in() ) {
$routequery = mysql_query("SELECT * from wp_routes WHERE trail_id = ".$trailid."");
$MYURL = "http://example.com/showmap.php?gpx=$row[gpx_file]&trail=$_GET[tname]";
echo "<h2>Rider's Routes</h2><a href='/submit-route?trail=$_GET[trail]'><b>";
echo "[ Submit a new route ]</b></a><br>";
if (mysql_num_rows($routequery)){
require_once('GPXIngest.class.php');
while ($row = mysql_fetch_array($routequery)) {
$user = get_user_by( 'id', '1' );
echo "<div style='float:left;margin-right:5px;'>";
$smallmap = '[iframe src="http://trailmeister.com/TOPO_VIEWS/showmap2.php';
$smallmap .= '?gpx='.$row[gpx_file].'&trail='.$_GET[tname].'"]';
echo "<a id='bigmap' href='http://trailmeister.com/TOPO_VIEWS/showmap.php?";
echo "gpx=$row[gpx_file]&trail=$_GET[tname]' style='border:1px red solid; ";
echo "margin-right: -150px; z-index:999; position:absolute; display:inline-block;";
echo " width:150px; height:150px;'></a>";
echo do_shortcode($smallmap);
echo "</div>";
echo "<div><a href='http://trailmeister.com/TOPO_VIEWS/GPX/download.php?";
echo "gpx=$row[gpx_file]'><b>[ Download this route ]</b></a><br>";
echo "Submitted $row[submitted] by " .$user->user_nicename."<br>";
echo "Route Difficulty: $row[difficulty] | ";
echo "Trail Length: $row[trail_length] <br>";
echo "<i>$row[comments]</i></div>";
}
}
}
?>
<script>
$('#bigmap')
.delay(4000)
.queue( function(next){
$(this).css({
'border':'1px red solid',
'margin-right': '-150px',
'z-index':'999',
'position':'absolute',
'display':'inline-block',
'width':'150px',
'height':'150px'
});
$(this).attr('href', '<?php echo $MYURL; ?>');
next();
});
</script>
【问题讨论】:
-
看颜色编码。这看起来很不对。
-
你得到的行号和确切的错误信息是什么?
-
解析错误:语法错误,E:\web\public_html\case42\TRAILMEISTER\wp-content\plugins\php-code-for-posts\PHPPostCode 中出现意外的 '$MYURL' (T_VARIABLE)。 php(85) : eval()'d 代码在第 348 行 -
-
我假设您不想看到所有 400 多行代码,而工作与不工作之间的唯一区别是包含 $MYURL。如果我错了,请在否决我之前告诉我。
-
你能指出在你的 400 行代码中行号映射到哪一行吗? :)
标签: javascript php jquery wordpress iframe