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 表单数据正在丢失_Javascript_Php_Codeigniter_Post - Fatal编程技术网

Javascript 表单数据正在丢失

Javascript 表单数据正在丢失,javascript,php,codeigniter,post,Javascript,Php,Codeigniter,Post,我在codeigniter中有一个php应用程序,我遇到了以下问题。 使用Ipad随机提交表单时,会丢失post数据。 我试过用四种不同的方式访问post数据 print_r($this->input->post()); print_r($_POST); print_r(file_get_contents('php://input')); print_r($_REQUEST); 所有这些都不返回任何内容或空数组。 这似乎只有在使用Ipad或Iphone时才会发生,但在桌面safar

我在codeigniter中有一个php应用程序,我遇到了以下问题。 使用Ipad随机提交表单时,会丢失post数据。 我试过用四种不同的方式访问post数据

print_r($this->input->post());
print_r($_POST);
print_r(file_get_contents('php://input'));
print_r($_REQUEST);
所有这些都不返回任何内容或空数组。 这似乎只有在使用Ipad或Iphone时才会发生,但在桌面safari上进行的50多次测试中,这只发生过一次。 当在pc浏览器上测试大约100次(firefox、chrome、IE)时,它没有出现,只有一次是在safari中

表格的代码

<form id="email_report_form" name="email_report_form" method="post" accept-charset="utf-8" action="/handleajax/email_page" class="email_report_form ajaxform" onsubmit="return validate();">
    <div class="form_step_container clearfix">
        <div class="element clearfix">
            <div class="col_left">
                <label>Email: <span class="required">*</span></label>
            </div>
            <div class="col_right">
                <input type="text" name="form_email_to" id="form_email_to"  />
                <div>&nbsp;</div>
                <label>Separate multiple email addresses with a comma</label>
            </div>
        </div>
        <div class="element clearfix">
            <div class="col_left">
                <label>Your Message:</label>
            </div>
            <div class="col_right">
                <textarea name="form_email_message" cols="125" rows="5" onkeypress="return checkLength(event, this, 1000);"></textarea>
                <label>(Maximum of 1000 characters)</label>
                <br />
                <input type="hidden" name="redirect_path" id="redirect_path" value="" />
                <input type="submit" value="Send" class="btn btn-primary" />
            </div>
        </div>
    </div>
    <div class="element clearfix">
        <i>Information entered in this form will not be used for marketing purposes or passed to third parties.</i>
    </div>
</form>

电邮:*
用逗号分隔多个电子邮件地址
您的留言:
(最多1000个字符)

在此表格中输入的信息不会用于营销目的或传递给第三方。
onSubmit validate()的代码

函数验证(){
元素=document.getElementById(“form_email_to”);
地址=element.value.split(“,”);
对于(var i=0;i2){
$('#redirect_path').val(window.location.hash.substring(2));
}否则{
$(“#重定向_路径”).val(window.location);
}
$(“#电子邮件报告”).slideUp();
返回true;
}
表单提交到的函数的代码

public function email_page() {
    echo "<br/>ci<br/>";
    print_r($this->input->post());
}
公共功能电子邮件页面(){
回声“
ci
”; 打印($this->input->post()); }
正如你所看到的,这就是我在回显post数据的地方,此时数据已经丢失。
有人知道我为什么会遇到这个问题,以及如何解决它吗?

你可以看看这个,这个家伙发现当服务器上有协商时,这是一个问题,你可以检查你的服务器或放置某种协商php头,在HTTP响应中检查你的接受,然后玩它们,看看这个

好吧,是的,我已经做了所有这些,但没有透露任何信息, 这就是我寻求帮助的原因。。。我发布的失败请求跟踪 这是我必须做的最能说明问题的事情

在翻阅了我的所有配置之后,我多少有点明白了 服务器对我们的测试服务器。谢天谢地,我有这种不同,而且 能够发现它

身份验证>集成windows身份验证>高级设置

提供商>[协商,NTLM]集成windows身份验证>高级设置>提供商>
[NTLM]我认为代码中没有任何错误,请检查config.php文件,特别是csrf_保护。可能的原因可能是302或301重定向。您将表单提交到/handleajax/email_页面。如果您的Web服务器或php将用户重定向到其他位置,您将丢失表单数据。当它是301永久重定向时,大多数浏览器在被重定向一次后会自动转到新位置。这只是众多可能性中的一种,但很容易检查。您使用的是真正的ipad还是ipad模拟器?@jan您可以看到我在emai_页面函数的第一行丢失了表单数据,之前没有任何重定向。@Nouphal.M我使用的是真正的ipad版本5.1.1
public function email_page() {
    echo "<br/>ci<br/>";
    print_r($this->input->post());
}