0

私は立ち往生していて、私の問題を理解できないようです。初めて Codeigniter を使用して基本的な「お問い合わせフォーム」を作成しようとしています。私のビューの私のフォームは次のようになります..

<div style='float: left; padding-right: 55px; padding-left: 35px;'>
    <?php 
        $this->load->helper('form'); 
        echo form_open('pages/emailsender'); ?>

        Contact Us:<br />
        <?php 
        echo form_input('name', 'Enter Your Name');
        echo form_input('email', 'Enter Your Email'); 
        echo "<br />";
        echo form_textarea('message', 'Enter your message here, thanks for taking the time to contact us!');
        echo "<br />";
        echo form_submit('submit', 'Send Message!');
        echo form_reset('reset', 'Reset Form');
        echo form_close();
        ?>
</div>

私のコントローラーpages.phpは次のようになります..

<?php

class Pages extends CI_Controller {

    public function index(){

        $this->load->view('templates/header');
        $this->load->view('home');
        $this->load->view('templates/footer');
    }

    public function home(){

        $this->load->view('templates/header');
        $this->load->view('home');
        $this->load->view('templates/footer');
    }

    public function about(){

        $this->load->view('templates/header');
        $this->load->view('about');
        $this->load->view('templates/footer');
    }

    public function services(){

        $this->load->view('templates/header');
        $this->load->view('services');
        $this->load->view('templates/footer');
    }

    public function reviews(){

        $this->load->view('templates/header');
        $this->load->view('reviews');
        $this->load->view('templates/footer');
    }

    public function specials(){

        $this->load->view('templates/header');
        $this->load->view('specials');
        $this->load->view('templates/footer');
    }

    public function contact(){

        $this->load->view('templates/header');
        $this->load->view('contact');
        $this->load->view('templates/footer');
    }

    public function emailsender(){
        $this->load->view('templates/header');
        $this->load->view('contact');
        $this->load->view('templates/footer');
    }

}

テストとして同じページにリダイレクトするだけの「メール送信者」機能がありますが、それもできませんか?! 「入力ファイルが指定されていません」と表示されます。毎回エラー。この投稿をstackoverflow Codeigniter no input file specified エラーで読みましたが、問題は解決していないようです。私の設定ファイルは次のようになります..

/*
|--------------------------------------------------------------------------
| Base Site URL
|--------------------------------------------------------------------------
|
| URL to your CodeIgniter root. Typically this will be your base URL,
| WITH a trailing slash:
|
|   http://example.com/
|
| If this is not set then CodeIgniter will guess the protocol, domain and
| path to your installation.
|
*/
$config['base_url'] = 'http://mywebsitename.com';
$config['index_page'] = ""; 
$config['uri_protocol'] = "AUTO"; 

入力ファイルが指定されていないというエラーが発生する理由はありますか?

4

4 に答える 4

7

.htaccess次のように変更します

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]

?最後の行のマークに注目してください。以前は、この行は次のようなものでしたRewriteRule ^(.*)$ index.php/$1 [L]

また、必ずこの行RewriteBase /.htaccess

于 2013-10-11T21:12:11.710 に答える
0

変化する:

 echo form_open('pages/emailsender'); ?>

に:

echo form_open_multipart('pages/emailsender'); ?>

form_open_multipartenctype="multipart/form-data"formタグに追加します。

于 2013-10-11T21:08:14.227 に答える
0

フォームの開始タグの省略形ではなく、直接リンクを使用する必要があります。このような:

echo form_open(‘http://example.com/welcome/emailsender’);

これの代わりに:

echo form_open(‘welcome/emailsender’);
于 2013-10-12T02:13:30.760 に答える