带字符串的未定义变量

时间:2014-09-21 19:39:57

标签: javascript php ajax

在profuser变量里面我有字符串" nick"。

  

回显一个href ="#"的onclick ="教授(' $ profuser')">

@UP我之前删除了标志,因为它在堆栈溢出中破坏了整个代码

应该发送到这里:

<script>
 function prof(profuser){ 
var xmlhttp=new
 window.XMLHttpRequest(); xmlhttp.open("GET", "user.php?user=" +
 profuser, true); xmlhttp.send(); } 
</script>

然后到这个名为user.php的文件:

$thisuser = $_GET['user']; echo $thisuser;

但是这段代码告诉我字符串&#34; nick&#34;没有定义。 谁能告诉我有什么问题呢? 如果此代码中有更多错误,请告诉我。

2 个答案:

答案 0 :(得分:1)

由于错误称nick被视为未定义变量。它应该被视为字符串,因此您需要添加引号:

onclick="prof(\'' . addslashes($profuser) . '\')"

根据@ p.s.w.g,你应该使用addslashes()来逃避php变量的引用,以防万一;)

答案 1 :(得分:0)

试试这个。

onclick="prof('<?php echo $profuser; ?>')"

onclick="prof('<?= $profuser; ?>')"

我认为你正在混合PHP和JavaScript?很难从发布的有限代码中分辨出来。

你的问题很可能是一个引用的问题,如果你正在打印整个onclick位,试试这个

echo 'onclick="prof(\''.$profuser.'\')"';

这是因为你可能在你的来源中得到这样的东西。

onclick="prof(nick)";

而nick是一个不是javascript变量的字符串,它将是未定义的。