2011-01-17 6 views
1

私はフォームデータを記入してアップロード用の2つのファイルを選択してSubmitを押すと、フォームデータをPHPページに渡すことができます。アップロードされます。同じボタンからPHP SubmitとFileuploadを実行する

問題は、送信ボタンが「送信」または「File_Upload」のいずれかにしか見えないようです。それは両方を行うことはできません...またはそれができますか?ここで

は私が複数のフォームを使用してこれを行うことができます知っている(私は願って...全体でポイントを取得するだけで十分な)HTMLファイルのgyst

<form class='form' name="frm_new_session" method="POST" enctype="multipart/form-data"> 
    <div class='frm_row'> 
     <label>Title</label> 
     <input id="titleF" type='text' name="title" size='50' /> 
     <input type="hidden" name="_chkuser" value="1"/> 
    </div> 
    <div class='frm_row'> 
     <label>Description</label> 
     <textarea id="descF" rows='3' cols='53' name="desc"></textarea> 
    </div> 
    <div class='frm_row'> 
     <label>Image</label> 
     <input id="imageF" type="file" name="uploadedimage"> 
     <input type="hidden" name=MAX_FILE_SIZE" value='50000000'/> 
     </input> <br /> 
    </div> 
    <div class='frm_row'> 
     <label>Session Media</label> 
     <input type='radio' id="mediaF" name="media" /> 
     Upload: <input type='file' name="fileupload"> 
     </input> <br /> 
     <input type='radio' id="mediaF" name="media" /> 
      Enter media URL: 
      <input type='text' size='75' name="mediaFile"/> 
     </input> 
    </div>     
    <div class='frm_row'> 
     <input type="submit" value="Save Session"/>      
     <div class='btn' type="submit" style='float: left;'> 
     <a href='#' id='btn_save_session'><span>Save Session</span></a> 
     <div class='kill_clear'></div> 
    </div> 
</form> 

ですが、私はそれを避けたいと1つの[保存]ボタンをお楽しみください。

提案がありますか?

+0

あなたは間違いなく1つのボタンで両方を行うことができます。あなたが間違ってやっていることは確かではありませんが、確かに可能です。ターゲットページでprint_r($ _ POST)を実行するとどうなりますか? – profitphp

+2

または 'print_r($ _ FILES)' – thetaiko

答えて

3

私はこの問題を理解していません。情報は$ _POST配列と$ _FILES配列のファイルにあります。あなたがMAX_FILE_SIZEに二重引用符が欠落している は、しかし、私は次のコードをテストし、それが動作します:値はバイト単位でのファイルの最大サイズで隠しフィールドMAX_FILE_SIZEを追加するD

<?php 
print_r($_POST); 
print_r($_FILES); 
?> 
    <form class='form' name="frm_new_session" method="POST" enctype="multipart/form-data"> 
    <div class='frm_row'> 
     <label>Title</label> 
     <input id="titleF" type='text' name="title" size='50' /> 
     <input type="hidden" name="_chkuser" value="1"/> 
    </div> 
    <div class='frm_row'> 
     <label>Description</label> 
     <textarea id="descF" rows='3' cols='53' name="desc"></textarea> 
    </div> 
    <div class='frm_row'> 
     <label>Image</label> 
     <input id="imageF" type="file" name="uploadedimage"> 
     <input type="hidden" name="MAX_FILE_SIZE" value='50000000'/> 
     </input> <br /> 
    </div> 
    <div class='frm_row'> 
     <label>Session Media</label> 
     <input type='radio' id="mediaF" name="media" /> 
     Upload: <input type='file' name="fileupload"> 
     </input> <br /> 
     <input type='radio' id="mediaF" name="media" /> 
      Enter media URL: 
      <input type='text' size='75' name="mediaFile"/> 
     </input> 
    </div>     
    <div class='frm_row'> 
     <input type="submit" value="Save Session"/>      
     <div class='btn' type="submit" style='float: left;'> 
     <a href='#' id='btn_save_session'><span>Save Session</span></a> 
     <div class='kill_clear'></div> 
    </div> 
</form> 
0
<form action="/add-news.php" method="post" enctype="multipart/form-data"> 
<input type="hidden" name="MAX_FILE_SIZE" value="5242880" /> 
<input type="text" name="title" /> 
<input type="file" name="image" /> 
<textarea rows="40" cols="50" name="content"></textarea> 
</form> 

をしてみてください。 それは私のために働く。

「両方ではできません」とはどういう意味ですか?

+0

ああ、私はあなたがそこにMAX_FILE_SIZEを持っていることを忘れていました... – sidon

+0

うーん...私は実際にそこにMAX_FILE_SIZEを持っています。 – Tim

+0

理想的には、ファイルをアップロードし、同じ送信ボタンを使用して入力値を投稿できるようにしたいと考えています。 確かに、PHPでの私の経験は少し限られていますが、私が理解しているように、action = 'file upload'のボタンがヒットした場合にのみ、ファイルのアップロードが開始されます。あるいは、フォームデータは、SUBMITボタンにaction = 'submit'が指定されている場合にのみ送信されます。 – Tim

関連する問題