Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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 $\u POST失败,与$\u请求相反_Php_Ajax_Post_Request - Fatal编程技术网

Php $\u POST失败,与$\u请求相反

Php $\u POST失败,与$\u请求相反,php,ajax,post,request,Php,Ajax,Post,Request,我正在尝试将表单$\u请求切换到$\u POST,因为这样更安全。 我的server.php中有以下代码: if (isset($_REQUEST['mode']) && $_REQUEST['mode']=='verwijderturf'){ $sql="SELECT * FROM users WHERE Naam='".cleanInput($_REQUEST['naam'])."'"; $result=mysql_query($sql); $

我正在尝试将表单$\u请求切换到$\u POST,因为这样更安全。 我的server.php中有以下代码:

    if (isset($_REQUEST['mode']) && $_REQUEST['mode']=='verwijderturf'){
    $sql="SELECT * FROM users WHERE Naam='".cleanInput($_REQUEST['naam'])."'";
    $result=mysql_query($sql);
    $count=mysql_num_rows($result);
    if($count > 0){
        $date2 = date("Y-m-d");
        $naam2 = cleanInput($_REQUEST['naam']);
        $door = cleanInput($_REQUEST['door']);
        mysql_query("INSERT INTO turfjes 
                     VALUES (
                             'Adtje', 
                             '".$naam2."',
                             '', 
                             '".$date2."',
                             '".$door."')") 
        or die (mysql_error());
    }
}
这很好用。 但是,当我将所有$\u请求切换到$\u POST时,我的server.php不会做任何事情

我使用ajax请求将数据发送到服务器。 例如:

function verwijderturf() {
    var naam = $("naam").value;
    $("naamnieuw").value = "";
    $("naam").value = "";
    $("redennieuw").value = "";
    new Ajax.Request('server.php?mode=verwijderturf&naam='+naam+'&door='+$("door2").value,{
        method: 'post', 
        onSuccess: update,
        onFailure: ajaxFailure
    });
}
如您所见,我的ajax方法是“post”,因此它应该可以与$\u post配合使用

有人能帮我吗?
提前感谢。

您需要提供参数作为POST参数,而不是GET参数。您正在使用哪个Javascript库

也就是说,对于jQuery来说

jQuery.ajax('server.php',{
    data: {
        'mode': 'verwijderturf',
        'naam': naam,
        'door': $("door2").value
    },
    type: 'post', 
    success: update,
    error: ajaxFailure
});
原型示例:

new Ajax.Request('server.php',{
    parameters: {
        'mode': 'verwijderturf',
        'naam': naam,
        'door': $("door2").value
    },
    method: 'post', 
    onSuccess: update,
    onFailure: ajaxFailure
});

数据
(jQuery)和
参数
(Prototype)是一个键/值对象,表示所有POST参数。在这两个库中,这可能是一个序列化字符串,如
'key=value&key2=value'
,但我更喜欢使用对象,让库序列化它们。

您需要将参数作为POST参数提供,而不是GET。您正在使用哪个Javascript库

也就是说,对于jQuery来说

jQuery.ajax('server.php',{
    data: {
        'mode': 'verwijderturf',
        'naam': naam,
        'door': $("door2").value
    },
    type: 'post', 
    success: update,
    error: ajaxFailure
});
原型示例:

new Ajax.Request('server.php',{
    parameters: {
        'mode': 'verwijderturf',
        'naam': naam,
        'door': $("door2").value
    },
    method: 'post', 
    onSuccess: update,
    onFailure: ajaxFailure
});

数据
(jQuery)和
参数
(Prototype)是一个键/值对象,表示所有POST参数。在这两个库中,这可能是一个序列化的字符串,比如
'key=value&key2=value'
,但我更喜欢使用一个对象,让库序列化它们。

我有同样的问题,除了使用POST方法的简单HTML表单,我没有使用任何库,所以它必须是linux/apache/php/mysql的标准安装(php是第5版)


可能POST和REQUEST使用了不同于PHP的库?可能不需要库,它与somo INI文件有关?谁知道,事实是,$\u POST数组不起作用。

我也有同样的问题,除了使用POST方法的简单HTML表单,我没有使用任何库,所以它必须是linux/apache/PHP/mys的标准安装ql(php是版本5)


可能POST和REQUEST使用了不同于PHP的库?可能不需要库,它与somo INI文件有关?谁知道,事实是,$\u POST数组不起作用。

非常感谢您的准确快速回复,我不知道。我可以在8分钟内接受答案,我会接受的。看起来他使用的是prototypeI am indeed使用prototype,但为什么不同?选项的名称和接受的数据类型取决于您的框架/库。prototype使用和jQuery
数据
。是的,我刚刚意识到。感谢您指出这一点。我已经改为jQuery,因为我在大多数文件中都使用它。再次感谢您指出这一点;)非常感谢您准确快速的回复,我不知道。我可以在8分钟内接受答案,我会的。看起来他在使用prototype我确实在使用prototype,但为什么会有不同?选项的名称和接受的数据类型取决于您的框架/库。原型使用和jQuery
数据
。是的,我刚刚意识到这一点。谢谢你指出这一点。我已经改为jquery,因为我在大多数文件中都使用它。再次感谢您指出这一点;)