引用错误:未定义测试


ReferenceError: test is not defined

所以我正在为我的一个游戏服务器编写一个禁止列表。我正在使用javascript来加载单独的PHP页面的mysql查询,使用ActiveXObject。

        function showUser(str) {
      if (str=="") {
        document.getElementById("txtHint").innerHTML="";
        return;
      }
      if (str==0){
        document.getElementById("txtHint").innerHTML="";
        return;
      }
      if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
      } else { // code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState==4 && xmlhttp.status==200) {
          document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
        }
      }
      if(!IsNumeric(str)){
          type = "name";
      }
      else
      {
          type = "id";
      }
      xmlhttp.open("GET","getdata.php?" + type +"="+str,true);
      xmlhttp.send();
    }

这处理用户数据的获取。我还有一个PHP脚本,在同一页面上,允许用户向页面添加get请求,以快速获取用户的禁令。由

        $id = $_GET['id'];
        $name = $_GET['name'];
        if(isset($id)){
            echo '<script> showUser('.$id.') </script>';
        }elseif(isset($name)){
            echo '<script> showUser('. $name .') </script>';
        }

当我尝试使用页面的名称get时,我的问题就来了。

当我浏览到我的网站时,

http://banlist.unityroleplay.com/minecraft/index.php?name=test

我面临着以下错误

引用错误:未定义测试

有什么想法吗?

if(isset($id)){
            echo '<script> showUser('.$id.') </script>';
        }elseif(isset($name)){
            echo '<script> showUser('. $name .') </script>';
        }

此代码正在尝试执行

<script>showUser(test)</script>

和JavaScript将其理解为测试变量。但你必须这样做

<script>showUser("test")</script>

因此,您必须按如下方式更改代码:

if(isset($id)){
            echo '<script> showUser("'.$id.'") </script>';
        }elseif(isset($name)){
            echo '<script> showUser("'. $name .'") </script>';
        }