PHP $_GET with jQuery $.get call


PHP $_GET with jQuery $.get call

我目前正在学习jQuery和php。

所以我有这个用jQuery函数调用的php文件(脚本中的其他地方还有另一个调用,其中a=chkPw):

$.get("checkName.php?a=chkUser&user=" + rqUser, function(data) { ... });

我的问题是 php 脚本似乎没有进入 if(isset($_GET)) { } 块。我已经调试了它返回的值 (1),所以我不明白出了什么问题!我还调试了 $_GET['a'] 的值,它确实是"chkUser"。

任何帮助将不胜感激。

<?php
$users = array('bill' => 'ore', 'ted' => 'wood');
if (isset($_GET)) {
    if ($_GET['a'] == 'chkUser') {
        if (!array_key_exists($_GET['user'], $users)) {
            echo 'okay';
        } else {
            echo 'denied';
        }
    } elseif ($_GET['a'] == 'checkPw') {
        $user = $_GET['user'];
        $pw = $_GET['pw'];
        $i = 0;
        // get username id
        foreach (array_keys($users) as $value) {
            if ($value == $user) {
                $user = $users[i];
            }
            i++;
        }
        // match pw
        if ($pw == $user) {
            echo 'okay';
        } else {
            echo 'denied'
        }
    }
}

?>

嘿,

在我看来,这正在起作用:

 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
 <script type="text/javascript">
    $.get("checkNames.php?a=chkUser&user=bill", function(data) { console.log(data) });
    $.get("checkNames.php?a=chkPass&user=bill&pw=ore", function(data) { console.log(data)                 });
</script>
<?php
$users = array('bill' => 'ore', 'ted' => 'wood');
if (isset($_GET["a"])) {
  if ($_GET["a"] == 'chkUser') {
    if (!array_key_exists($_GET['user'], $users)) {
        echo 'okay';
    } else {
        echo 'denied';
    }
  } elseif ($_GET["a"] == 'chkPass') {
    $user = $_GET['user'];
    $pw = $_GET['pw'];
    if(array_key_exists($user, $users))
    {
        if($users[$user] == $pw)
        {
            echo "okay";
        }
        else
        {
            echo "denied";
        }
    }
    else
    {
        echo "denied";
    }
  }
}
?>

试试这个if语句而不是当前语句

if (count($_GET) > 0) {
    // existing code
}

希望这对您有所帮助。

使用类似于 www.something.com/index.html?a=1
的网址 此代码实际上适用于测试:

$users = array('bill' => 'ore', 'ted' => 'wood');
if (isset($_GET)) {
echo 'something';
}


尝试进一步评论它,让我们知道它是整个 elseif 还是只是它的一部分

你可以试试这个:

<?php
if(!empty($_GET)){
  ...
}
?>

要确定GET有效负载,请使用var_dump($_GET)