使用jQuery AJAX和PHP缺少POST参数

时间:2012-09-30 22:12:45

标签: php jquery ajax post

我通过jQuery与AJAX POST有关。这是客户端代码:

$.ajax({
    url: 'php/registration_and_login/login.php',
    type: 'post',
    data: {saveConection: saveConection, loginEmail: loginEmail, loginPass: loginPass }
}).always(login);

这是PHP代码:

<?php
include '../functions/connection.php';
$link = conenct('localhost', 'root', '', 'w_db');

$saveConection = $_POST['saveConection'];
$loginEmail = $_POST['loginEmail'];
$loginPass = $_POST['loginPass'];

$loginEmail = mysql_real_escape_string($loginEmail);
$loginPass = mysql_real_escape_string($loginPass);
$saveConection = mysql_real_escape_string($saveConection);

$emailResult = mysql_query("SELECT COUNT('id') FROM users WHERE userEmail = '$loginEmail' AND userPass = '$loginPass'") or die('Invalid query:'. mysql_error());
$validation = mysql_result($emailResult, 0);

if($validation) {
    $query1 = mysql_query("SELECT id FROM users WHERE userEmail = '$loginEmail'") or die('Invalid query:'. mysql_error());
    $tmp = mysql_fetch_assoc($query1);
    $id = $tmp['id'];

    session_start();
    $_SESSION['id'] = $id;

    if($saveConection == 'yes'){
        setcookie('login', $loginEmail);
        setcookie('password', $loginEmail);
    }
    echo "true";
}
else {
    echo "false";
}
?>

我收到此错误:

  

注意:未定义索引: C:... \ login.php 中的saveConection 5

在我看来,saveConection的POST没有问题,我找不到问题。

1 个答案:

答案 0 :(得分:4)

对于您的帖子值,您必须在调用页面之前检查它们是否存在...

所以你必须这样做:

if(isset($_POST['saveConection']))
   $saveConection = $_POST['saveConection'];

if(isset($_POST['loginEmail']))
   $loginEmail = $_POST['loginEmail'];

if(isset($_POST['loginPass']))
   $loginPass = $_POST['loginPass'];

我希望你理解!