Php Ajax post值返回为空
我需要一些代码方面的帮助,因为我在使用ajax发布值时遇到了问题。当我选择该值并单击按钮时,当我定义变量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"
$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;