从相同的按钮执行PHP提交和Fileupload

时间:2011-01-17 23:26:59

标签: php html file-upload webforms

我正在编写一个页面,用户可以在其中填写表单数据,选择两个文件进行上传,然后单击“提交”将表单数据传递到PHP页面,并且还将上载这两个文件。

问题是提交按钮似乎只能是'submit'或'File_Upload'。它不能同时做到......或者可以吗?

这是HTML文件的主题(足以让我们明白这一点......我希望)

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

我知道我可以使用多种形式来做到这一点,但我想避免这种情况,并享受只需一个“保存”按钮。

有什么建议吗?

2 个答案:

答案 0 :(得分:3)

我不明白这个问题,信息将在$ _POST数组和$ _FILES数组中的文件中。 但是,你在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>  

答案 1 :(得分: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>

尝试添加隐藏字段MAX_FILE_SIZE,其中value是文件的最大大小(以字节为单位)。 它对我有用。

你的意思是:“它不能同时做到”,有什么迹象?