echo '<a onClick="articleDeleteConfirm("'.
$row["title_$lang"].'","'.$_GET["editPage"]).'">';
主要问题是:$ row [“title_ $ lang”],我必须在里面使用$ lang变量。 “而且'还不够。
答案 0 :(得分:0)
我也有同样的问题,我不确切知道为什么但是无论我做了什么都有语法错误,所以我尝试了这个并得到了答案。
问题是您使用双引号打开onClick,然后再次使用另一个双引号打开字符串。
使用此功能,您将得到答案。
echo '<a onClick="articleDeleteConfirm('.char(39).$row["title_$lang"].char(39).','.char(39).$_GET["editPage"]).char(39).'>';
答案 1 :(得分:0)
您描述的问题实际上与您的PHP变量无关,这些变量都按预期输出。问题是你需要逃避"
内的<a>
而你错放了)
。
你的原件会输出:
<a onClick="articleDeleteConfirm("value1","value2">
这不是有效的HTML(即使荧光笔不喜欢它)。现在,请注意下面的\
(并且将paren移动到字符串中)。
echo '<a onClick="articleDeleteConfirm(\''
.$row["title_".$lang."].'\',\''.$_GET["editPage"].'\')">';
转义版本输出:
<a onClick="articleDeleteConfirm('value1','value2')">
它使用双引号内的单引号来提供易于阅读(和有效)的html。现在,您的代码还有另一个问题。
每次向浏览器输出$_REQUEST
变量时,都会冒一些名为cross-site-scripting的风险。有人可以将JavaScript放入$_GET["editPage"]
,它会闻起来很糟糕。避免它的简单方法?使用htmlentities($_GET["editPage"])