【问题标题】:Submit form and file to controller codeigniter向控制器 codeigniter 提交表单和文件
【发布时间】:2016-05-23 11:54:19
【问题描述】:

我是 codeigniter 和 MVC 模型的新手 我想知道我如何将表单和文件上传到控制器并使用 curl 上传 并返回确认结果查看

这是我的看法: 编辑问题

            <form class="editissueform">
            <h7>Name : </h7>
            <input type="text" name="issue_name"><br>
            <h7>Tagline:</h7>
            <input type="text" name="issue_tagline"><br>
            <h7>Description:</h7>
            <input type="text" name="issue_description"><br>
            <h7>Publish Date:</h7>
            <input type="text" name="issue_publish_on"><br>
            </form>                 
        </div>
        <h4>Upload Publication</h4>
        <div class="issuedit">
            <form class="editissueform">
            <input type="file" name="issue_file" size="40" />
            <h7>Please Upload using pdf file format</h7>
            </form>
        </div>
        <br>
        <br>
        <input type="submit" name="submit" value="upload">
        <?php echo form_close(); ?>

这是我的控制器:

$issue_name = $this->input->post('issue_name');
  $issue_tagline = $this->input->post('issue_tagline');
  $issue_description = $this->input->post('issue_description');
  $issue_publish_on = $this->input->post('issue_publish_on');
  $issue_file = $this->input->post('issue_file');

$data2=array(
  'issue_name' => $issue_name,
  'issue_tagline' => $issue_tagline,
  'issue_description' => $issue_description,
  'issue_file' => $issue_file
  ); 

$this->load->helper('form');
$this->load->view('issue_detail',$data2);


  echo $issue_name;

  $target_url = 'https://platform.twixlmedia.com/admin-api/1/upload';

  $file_name_with_full_path = realpath($issue_file);
  $post3 = array(
'admin_api_key'    => 'da06751194bc1xxxxxxxxxxxx',
'app_key'          => 'bd7cf04226c587xxxxxxxxxxx',
'issue_identifier' => $productid,
'issue_file'       =>'@' . realpath($issue_file),
'issue_name'       => $issue_name
  );

$ch3 = curl_init();
curl_setopt($ch3, CURLOPT_URL, 'https://platform.twixlmedia.com/admin-api/1/upload');
curl_setopt($ch3, CURLOPT_POST, 1);
curl_setopt($ch3, CURLOPT_POSTFIELDS, $post3);
curl_setopt($ch3, CURLOPT_RETURNTRANSFER, 1);
$result3 = curl_exec($ch3);
curl_close ($ch3);
echo $result3;

如何将表单输入传递给控制器​​并将它们上传到服务器 api? 谢谢

【问题讨论】:

  • 缺少表单操作
  • &lt;h7&gt;? HTML 没有&lt;h7&gt;。它只上升到子子子子子标题(这比大多数人需要的要多)。请learn to love labels
  • 感谢您的回复。我现在将使用标签

标签: php html forms codeigniter curl


【解决方案1】:

您的 HTML &lt;form&gt; 标记缺少属性:

<form class="editissueform" action="upload.php" method="post" enctype="multipart/form-data">
  • 动作
  • 方法
  • enctype

调试更新

您的 HTML 表单

<form class="editissueform" action="www.example.com/process/curl" method="post" enctype="multipart/form-data">
    <!-- all of your form stuff -->
</form>

process.php 控制器

<?php

class Process extends CI_controller
{
    public function curl()
    {
        /**
         *
         * Does this output what you expect?
         *
         */

        echo '<pre>'.print_r($this->input->post(), true).'</pre>'

        die();

        // All of your curl code
    }
}

【讨论】:

  • 感谢我添加了属性,但仍然无法正常工作。除了我在这里想念的其他属性之外,我是非常新手,很抱歉这样的坏问题
  • 视图中表单的输入数据。我正在通过控制器中的 echo $issue_name 测试数据是否传递给控制器​​,但它不起作用。
  • @SamuelBilly 我不知道您的问题是什么,除非您发布更新的&lt;form&gt; 代码以及相关的 CodeIgniter 代码。请参阅我的更新以获取调试帮助。
  • 我搞定了。属性输入错误,感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多