提交时url显示两次


url shows twice when submit

现在第一次使用codeigniter,并尝试他们在这里描述的上传文件类。现在发生的事情很奇怪,因为一旦我提交了选中图像的表单,它就会显示错误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>

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

错误可能在您的上传表单中。如果操作不是相对URL或以http://开头,例如您指定了"www.mydomain.com/index.php/do_upload"作为操作,则会出现这种行为。

要修复此问题,请在前面加上"http://"或创建一个相对URL。

试试这个:

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

不是"上传"之前的"/"