我有以下脚本。它使用用户名制作div,工作正常,直到href部分,php页面打开user=$user
(变量不接受它的值)
例如,div id和getElementById中的$user='george'
,但是在href user=$user
中?为什么?
提前谢谢,
<script>
$(document).ready(function(){
for(i = 0; i < 1; i++) {
$('body').append('<div id="div'+'<?php echo $user; ?>'+'"/>'); //$user='george'
document.getElementById('div'+'<?php echo $user; ?>'+'').innerHTML=
'<?php echo $user; //$user='george'
echo '<a href="account_show_to_members.php?user=$user"> //$user=$user WRONG
Visit!</a>'; ?> ';
}
});
</script>
答案 0 :(得分:0)
问题是php不会在带有单引号的字符串中处理内联变量,也不会像\n
那样处理转义字符。你应该开始的第一个地方是改变这个:
echo '<a href="account_show_to_members.php?user=$user"> //$user=$user WRONG
Visit!</a>';
到此:
echo "<a href='account_show_to_members.php?user=$user'>Visit!</a>";
肯定会考虑一些格式标准,但这段代码很乱。
编辑:只是为了避免混淆,以下是它应该完全看起来的样子:
<script>
$(document).ready(function(){
for(i = 0; i < 1; i++) {
$('body').append('<div id="div<?php echo $user; ?>"/>');
document.getElementById('div<?php echo $user; ?>').innerHTML = '<?php echo $user." <a href=\"account_show_to_members.php?user=$user\">Visit!</a>"; ?>';
}
});
</script>
这可能也可以直接写入dom,而不通过javascript传递。节省了大量的开销和复杂性。不想成为一个混蛋,只是给予友好的建议。