Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Ajax post值返回为空_Php_Jquery_Ajax - Fatal编程技术网

Php Ajax post值返回为空

Php Ajax post值返回为空,php,jquery,ajax,Php,Jquery,Ajax,我需要一些代码方面的帮助,因为我在使用ajax发布值时遇到了问题。当我选择该值并单击按钮时,当我定义变量$email以及尝试使用$\u post['emails']时,它将发布空值。我在我的代码中添加了,但没有任何区别,所以我的按钮代码或ajax中的某个地方出现了问题 我试过这个: if(isset($_POST['submit'])) { $email = $_POST['emails']; } <button name="send_email" id="send_email"

我需要一些代码方面的帮助,因为我在使用ajax发布值时遇到了问题。当我选择该值并单击按钮时,当我定义变量
$email
以及尝试使用
$\u post['emails']
时,它将发布空值。我在我的代码中添加了
,但没有任何区别,所以我的按钮代码或ajax中的某个地方出现了问题

我试过这个:

if(isset($_POST['submit']))
{
    $email = $_POST['emails'];
}

<button name="send_email" id="send_email" type="submit" class="btn btn-primary" style="margin-left: 36%;" data-auto-id="<?php echo $autoid; ?>" data-send-email ="<?php echo $email; ?>">Send Test</button>
Sendtest.php:

<?php
// Initialize the session
session_start();

// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
    header("location: login.php");
    exit;

}
else if(isset($_POST))
{
    $param_username = $_SESSION['username'];
    $param_campaign = $_SESSION['auto_campaign'];
    $id = $_POST['ID'];
    $email = $_POST['EMAILS'];
    echo "your email address is";
    echo $email;
} 
?>

你能给我举个例子吗?当我点击一个按钮后,我如何使用正确的方法获得值,然后使用ajax发布它


谢谢。

我看到的最引人注目的事情(假设您已经介绍了响应/请求部分)是代码中处理AJAX请求的这一行

if(isset($_POST['submit']))
因为您只发送
{ID:ID,EMAILS:EMAILS}
“ID”和“EMAILS”,所以永远不会设置“submit”,分配
$email
的代码也永远不会执行

更新1

这也跳出来了:

  $email = $_POST['emails'];
现在,如果您还记得,这是我们发送的
{ID:ID,EMAILS:EMAILS}
,因此键
EMAILS
EMAILS
不同,数组键检查区分大小写。这应该是

 //in PHP7+
 $email = $_POST['EMAILS'] ?? false;

 //in PHP < 7
 $email = isset($_POST['EMAILS']) ? $_POST['EMAILS'] : false;
//在PHP7中+
$email=$_POST['email']??虚假的;
//在PHP<7中
$email=isset($_POST['email'])$_POST['email']:false;

这些都在一个大文件中吗?通常,您需要将AJAX后端脚本与前端代码分离(出于各种原因)。AJAX更多的是了解客户机与服务器的关系以及请求如何发生(工作)。没有很好的把握。。。这将很困难。
if(isset($\u POST['submit'])
这在AJAX调用时永远不会设置,只会设置您在
数据中发送的内容。在本例中,`data:{ID:ID,EMAILS:EMAILS},`@artisticfenix对,在他们的另一个问题中,我提到他们通过启用错误报告来检查错误;他们仍然没有这样做,因为我根本没有看到任何错误处理。通过PHP或mysql。我可以补充一点,他们应该使用一个预先准备好的语句,避免SQL注入,并且已经做了一段时间了。转换只会花费他们更多的时间。@ArtisticPhoenix我已经删除了它,但它仍然不会发送值。任何想法??谢谢你,我已经删除了它,但是当我选择值并单击按钮时,当我使用ajax发布它时,它仍然显示空值。有什么想法吗?????????
  $email = $_POST['emails'];
 //in PHP7+
 $email = $_POST['EMAILS'] ?? false;

 //in PHP < 7
 $email = isset($_POST['EMAILS']) ? $_POST['EMAILS'] : false;