2016-03-25 4 views
3

私のウェブサイトには、enctype="multipart/form-data"が設定されたフォームのプロセスデータはありません。しかし'php://input'は、php manualがenctypeに使用できないと言ってもデータを取得します。私はそれが間違っているいくつかの設定かもしれないと思うが、私はそれがどんなかもしれないか分からない。PHPはmultipart/form-dataフォームのデータを処理しません

いくつかのコード:

<?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で何かfunkyだった。 PHP 7.0またはPHP 5.6では動作しませんが、ネイティブ(PHP 5.5)を使用すると問題なく動作します。

+0

print_r($ _ POST)を追加しようとしました。あなたが投稿を取得しているかどうかを確認するには? –

+0

はい私はそれが空です。 – Olof

+0

コードとPHPコードを提出する必要があります。コードを見ずに問題が何であるかを見つけることが難しい –

答えて

0

POSTするデータの種類がわかりません。それはあなたが唯一持っている必要があります単なるテストだ場合:

<?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

あなたが理解できない場合は、コメントを送っている可能性があります。 完全なフォームをデバッグするために私が使用しているのは、ファイルをupploadして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

私はこの問題を部分的に解決しました。これはWeb-Hotelの構文解析の問題です。 – Olof

関連する問題