Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.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
如何接收从javascript发送的php数据_Javascript_Php_Jquery - Fatal编程技术网

如何接收从javascript发送的php数据

如何接收从javascript发送的php数据,javascript,php,jquery,Javascript,Php,Jquery,我正在使用javascript将一些数据从我的疼痛页面发送到app.php $(document).on('click', '.app' , function(){ var data=$(this).attr("id"); window.location="application/app.php?data="+data; //data send in this statement }); 我的php代码如下: <?php if($_GET['d

我正在使用javascript将一些数据从我的疼痛页面发送到app.php

$(document).on('click', '.app' , function(){
        var data=$(this).attr("id");
        window.location="application/app.php?data="+data;   //data send in this statement
    });
我的php代码如下:

<?php
if($_GET['data'])
{
    echo $app_id=$_GET["data"]; receiving data 

}
?>

它有时会工作,但现在它会在一个警告框中发出通知:
app.php中未定义的索引数据
。但它显示了回声


我想知道如何使用$\u POST或$\u GET接收我需要的数据。就像我们通过Ajax调用收到的一样。但我没有在Javascript中指定类似的内容。有什么办法吗

我想澄清数据是否存在,并且它是否为非空,因为echo正在页面上成功打印该数据,请使用isset()首先检查密钥是否存在。如果未通过url中的参数传递数据,$\u GET中将不存在该数据

您可能需要这样的逻辑:

if (isset($_GET['data'])) {
    if (!empty($_GET['data'])) {
        $appId = $_GET['data'];
    }
    else {
        // data exists, but it's empty
    }
}
else {
    // data does not exist
}
也许你甚至想检查它是否是一个有效的id,比如数字或其他什么

<?php
if(!empty($_GET['data']))
{
    $app_id = $_GET['data']; // receiving data 
}
?>


请注意,未经验证传递数据是不安全的。推荐阅读:

“它有时能工作,但现在却出现了错误”嗯。。。在这期间你做了什么改变?问题是您根本没有收到数据,或者如果您不发送数据,您会收到此警告?请将
if($\u get['data'])
更改为
if(isset($\u get['data']))
isset不是问题,我猜也可以检查天气数据变量是否已设置redirecting@FelixKling我正在接收数据。但它给了我一个警告框中的通知。我在以前的项目中也做过同样的事情。但是现在不起作用了使用我添加的示例,您可以在if-else构造中添加一些调试信息,以跟踪出错的位置
if(isset($\u-GET['data'])&&!empty($\u-GET['data'])
将执行相同的操作,因此显式检查是否设置回显式检查回显式结果是否正确。它正在显示回波结果。但也有一个警告窗口,显示“数据”是未定义数据的通知index@stacky那个告示是不是指向这个答案中的一行?听起来你在代码的另一个地方有类似的东西“但是有一个警报窗口”什么警报窗口?你有一些额外的js代码与警报?答案是不正确的。但是你给了我正确的方向。谢谢你,伙计。警报窗口来自失败的ajax调用。谢谢:)@stacky我很高兴能帮上忙