2016-03-25 91 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