【问题标题】:url shows twice when submit提交时url显示两次
【发布时间】:2012-09-03 11:11:10
【问题描述】:

现在第一次使用 codeigniter,并尝试他们描述的上传文件类here。现在发生的事情很奇怪,因为一旦我提交带有选择图像的表单,它就会显示错误 404,这是可以理解的,由于某种原因,地址栏中显示的 url 原来是:

http://mydomain.com/index.php/www.mydomain.com/index.php/do_upload

所以它在重复!这导致了 404 的问题,但我不知道为什么会这样?

用于控制器的代码是:

<?php

class Upload extends CI_Controller {

    function __construct()
    {
        parent::__construct();
        $this->load->helper(array('form', 'url'));
        //form_upload('userfile'); 
    }

    function index()
    {
        $this->load->view('upload_form', array('error' => ' ' ));
    }

    function do_upload()
    {
        $config['upload_path'] = '/uploads/';
        $config['allowed_types'] = 'gif|jpg|png';
        $config['max_size'] = '100';
        $config['max_width']  = '1024';
        $config['max_height']  = '768';

        $this->load->library('upload', $config);

        if ( ! $this->upload->do_upload())
        {
            $error = array('error' => $this->upload->display_errors());

            $this->load->view('upload_form', $error);
        }
        else
        {
            $data = array('upload_data' => $this->upload->data());

            $this->load->view('upload_success', $data);
        }
    }
}
?>

感谢支持:)

编辑:提交表单:

<html>
<head>
<title>Upload Form</title>
</head>
<body>

<?php echo $error;?>

<?php echo form_open_multipart('upload/do_upload');?>

<input type="file" name="userfile" size="20" />

<br /><br />

<input type="submit" value="upload" />

</form>

</body>
</html>

【问题讨论】:

  • 你可能想干预你的 .htaccess

标签: php codeigniter


【解决方案1】:

这个问题的答案是在配置文件的基本 URL 中的域地址之前添加 http://。这解决了问题。谢谢大家

【讨论】:

    【解决方案2】:

    错误可能在您的上传表单中。如果操作不是相对 URL 或以 http:// 开头,例如您已将“www.mydomain.com/index.php/do_upload”指定为操作,您将获得该行为。

    要修复,请在前面加上“http://”或创建一个相对 URL。

    【讨论】:

    • 不,事实并非如此。我在我的问题中包含了表格。
    • 在哪里?它不在那里。我需要你的视图文件。
    • 刚刚做了 :) 请检查一下
    • 使用 Firebug(或查看源代码或其他),表单开始标签上的 action 属性是什么?
    • 除了 css 和错误 404 之外,没有什么有意义的显示伙伴...我只是查看了源代码。我不使用萤火虫
    【解决方案3】:

    试试这个:

    <?php echo form_open_multipart('/upload/do_upload');?>
    

    不是“上传”之前的“/”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-15
      • 1970-01-01
      • 2011-03-09
      相关资源
      最近更新 更多