【问题标题】:Missing POST parameter with jQuery AJAX and PHPjQuery AJAX 和 PHP 缺少 POST 参数
【发布时间】:2012-09-21 20:21:11
【问题描述】:

我有一个通过 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.php5

行中的 saveConection

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

【问题讨论】:

  • 你意识到你拼错了“连接”,对吧?
  • 试试var_dump($_POST),看看会发生什么。
  • 这可能是一个错字$_POST['saveConection'] 应该是$_POST['saveConnection'],除非您的表格中也拼错了...
  • saveConection(如果这样拼写)是复选框吗?如果是,则发布键除非选中,否则不会出现。因此,如果您在未选中该框的情况下提交,它将发出通知。而是检查if (isset($_POST['saveConection']))

标签: php jquery ajax post


【解决方案1】:

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

所以你必须这样做:

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

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

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

希望你能理解!

【讨论】:

  • 我知道它们是存在的,因为我发布了 via ajax 调用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-04
  • 2012-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多