2012-04-25 187 views
0

我想要的是,数据将传递到这个PHP文件:check.php和这个PHP文件将在页面准备好时将数据传递到该函数。这只是一个到期。jquery文档准备就绪

好,我有这样的代码:

$(document).ready(function() { 
    $.post("check.php", { 
     name: "log" 
    }, function(data) { 
     if (data === "yes") { 
      alert('has been login'); 
     } else { 
      alert('has not login'); 
     } 
    }); 
});​ 

和我有这个PHP代码(“check.php”),其中jQuery的职位将数据传递到。

<? //check 
$chk = $_POST['name']; 

if (isset($chk === "log")) { 
    if (isset($_COOKIE['admin'])) { 
     if ($_COOKIE['admin'] === "login") { 
      echo "yes"; 
     } 
    } else { 
     echo "no"; 
    } 
} else { 
    echo "no"; 
} 
?> 

,但没有发生,即使我改变整个代码check.php到:“回声‘是’;”没有任何事情发生,我猜,它没有数据接收或没有数据传递。希望有人能帮助我解决这个简单而可爱的问题。提前谢谢你

+1

你有没有在你的页面加载jQuery?你在fierbug控制台中看到任何脚本错误吗? – Shyju 2012-04-25 18:08:51

+0

你能分享一个链接吗? – 2012-04-25 18:11:49

+0

注意到这只是一个实验,但这是代码对于生产环境来说并不理想。 Cookie可以由用户设置/操作。任何人都可以设置一个名为'admin' ='login'的cookie并访问你的页面,甚至不用输入用户名和密码。是的,发生这种情况的可能性很低,但克服这种情况的一个简单方法是使用$ _SESSION而不是cookie。 – AndrewR 2012-04-25 18:12:32

回答

2

我想你错过了一个右大括号。这只是按预期工作:

$.post('check.php', { name: 'log' }, function(data) { 
    if (data === "yes") 
     { 
     alert ('has been login'); 
     } 
     else 
    { 
    alert ('has not login'); 
    } 
    }); 

运行此的jsfiddle http://jsfiddle.net/S53k5/ ,你会看到呼叫提琴手经过。

+0

谢谢!!有用。嘿嘿:D – 2012-04-25 18:19:46

0

我想这是因为你使用标题“名称”,这是一个保留关键字。