我目前正在学习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'
}
}
}
&GT;
答案 0 :(得分:1)
嘿,在我看来,这是有效的:
<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";
}
}
}
?>
答案 1 :(得分:0)
使用像www.something.com/index.html?a=1这样的网址这个代码实际上可以用于测试:
$users = array('bill' => 'ore', 'ted' => 'wood');
if (isset($_GET)) {
echo 'something';
}
尝试进一步评论它,让我们知道它是整个elseif或只是它的一部分
答案 2 :(得分:0)
尝试使用if语句而不是当前
if (count($_GET) > 0) {
// existing code
}
希望这会对你有所帮助。
答案 3 :(得分:0)
你可以试试这个:
<?php
if(!empty($_GET)){
...
}
?>
确保GET有效负载使用var_dump($ _ GET)