2016-03-25 41 views
3

我的网站没有从enctype="multipart/form-data"组合的表格处理数据。但是,即使php manual表示它不应用于enctype,'php://input'也会获取数据。我认为这可能是一些错误的设置,但我不知道它可能是什么。PHP不处理来自多部分/表格数据表格的数据

一些代码:

<?php 
    var_dump($_REQUEST); 
    echo file_get_contents("php://input"); 
?> 
<form id="slideForm" action="" method="post" enctype="multipart/form-data"> 
    <input type="text" name="test"> 
    <input type="submit" name="submit" id="submit" value="ADD"/> 
</form> 

更新

我一直在与支持,主办我的网站服务器的公司的接触,我们已经解决了这个问题。我并不完全确定问题是什么,但它与他们的服务器和php有些关系。我不在PHP 7.0或PHP 5.6上工作,但如果我使用他们的本地(PHP 5.5),它没有问题。

+0

您是否尝试添加print_r($ _ POST);看看你是否得到任何职位? –

+0

是的,我有,它是空的。 – Olof

+0

您将需要提交您的

代码和PHP代码。它很难找到什么问题是没有看代码 –

回答

0

我不明白你想要发布哪种类型的数据。如果它只是一个测试,你应该只:

<?php 
    var_dump($_POST); 
?> 
<form id="slideForm" action="" method="post"> 
    <input type="text" name="test"> 
    <input type="submit" name="submit" id="submit" value="ADD"/> 
</form> 

如果要发布一个文件,你必须有:

<?php 
    var_dump($_POST); 
?> 
<form id="slideForm" action="" method="post" enctype="multipart/form-data"> 
    <input type="file" name="test"> 
    <input type="submit" name="submit" id="submit" value="ADD"/> 
</form> 

确保您能够发布你的PHP服务器上的数据。 检查这些PHP变量:

upload_max_filesize 
upload_tmp_dir 
file_uploads 
+0

如果你不明白,你可以发送评论。 之所以我只使用一个小的是因为调试完整的表单有时会载入一个文件,有时只是一个URL。 – Olof

0

在大多数情况下,你不需要在所有使用该属性。默认值(即,如果你根本不使用这个属性)是“application/x-www-form-urlencoded”,这对几乎任何形式的数据都是足够的。一个例外是如果你想做文件上传。在这种情况下,你应该使用“multipart/form-data”。 请尝试以下代码以获取回声“测试”数据。

<?php 
    var_dump($_REQUEST); 
    echo $_REQUEST['test']; 
?> 

<form id="slideForm" action="" method="post"> 
    <input type="text" name="test"> 
    <input type="submit" name="submit" id="submit" value="ADD"/> 
</form> 
0

我想你的代码,它是按预期工作: 的$ _REQUEST填充正确和PHP的输入为空。

考虑到你的代码看起来很好,并且它在我的服务器上按照预期工作,我建议你检查你的.htacces(或者等效的)过滤器/重写模块,甚至服务器配置设置甚至页面编码。

99%它不是代码本身。

0
<?php 
    // File data will display here 
    print_r($_FILES); 
    // OR you can write with condition 
    if($_FILES['test']){ 
     print_r($_FILES); 
    } 
?> 
<form id="slideForm" action="" method="post" enctype="multipart/form-data">enter code here 
    <input type="file" name="test"> 
    <input type="submit" name="submit" id="submit" value="ADD"/> 
</form> 
+0

我在更新中写道这个问题部分解决了。这是网络酒店的解析问题。 – Olof