表单和文件上传到两个不同的控制器

时间:2013-02-12 06:47:30

标签: php html codeigniter post file-upload

我有一个表单,我想通过一个提交按钮提交。

但是我上传文件的操作是一个不同的控制器,然后数据库发布。它看起来像这样......

<form method="post" action="/admin/upholstery_product/add/">
<h3>Add a Product</h3>
Frame: <input type="text" name="productname" /><br>

Parent Category:
<select name="category">
    <?php
    foreach($cats AS $cat){
        $sel = ($curCat->category_id == $cat->category_id) ? 'selected' : '';

        echo "<option value='".$cat->category_id."' ".$sel.">" . $cat->category_name . "</option>\n";
    }
    ?>
</select><br />

Family: <input type="text" name="family" /><br>

Width: <input type="text" name="width" size="6" /><br>

Height: <input type="text" name="height" size="6" /><br>

Depth: <input type="text" name="depth" size="6" /><br>

Seat Width: <input type="text" name="seat_width" size="6" /><br>

Seat Height: <input type="text" name="seat_height" size="6" /><br>

Seat Depth: <input type="text" name="seat_depth" size="6" /><br>

Arm Height: <input type ="text" name="arm_height" size="6" /><br>

Features: <textarea cols="40" rows="20" name="features"></textarea><br>

<form method="post" action="/upload/product_image_upload">
Image File: <input type="file" name="image" id="image"/><br>
</form>

<form method="post" action="/upload/product_image_upload">
Thumbnail File: <input type="file" name="thumbnail" id="thumbnail"/><br>
</form>

<form method="post" action="/upload/pdf_upload">
PDF File: <input type="file" name="pdf" id="pdf"/><br>
</form>

Status: <select name="status">
        <option value="active">Active</option>
        <option value="inactive">Inactive</option>
        </select> <br>


<input type="submit" name="submit" value="Add Product" /><br>
</form>

有没有办法将文件操作发布到一个控制器,并通过一个提交按钮提交给我的其他控制器?现在代码不起作用。

1 个答案:

答案 0 :(得分:0)

严格来说,您要做的是不可能:您在一个页面上有两个单独的表单,并且您想同时提交这两个表单。

这里的主要问题是:提交表单的结果是一个新页面。不同的行动=不同的页面。你想要展示哪一个?

解决方法:将文件和数据都提交到同一个脚本;如果处理程序需要分开,则让第一个处理程序将数据发布到“幕后”的第二个处理程序。