0

電子メールを送信するときに、ラジオ ボタンを含むフォームを電子メールで送信しようとしています。「on」だけの戻り値を取得します。名前の「値」を正しく設定し、それを form_validation コードに結び付けましたが、すべて「機能」しているように見えますが、値が正しく設定されていないか、正しく電子メールで送信されていません。以下のコード。

コントローラ ファイル:

パブリック関数 contact_email()

{
        $this->load->helper(array('form', 'url'));
        $this->load->library('form_validation');
        $this->load->library('email');

        $this->form_validation->set_rules('name', 'Name', 'required|xss_clean');
        $this->form_validation->set_rules('email', 'Email', 'required|valid_email|xss_clean');
        $this->form_validation->set_rules('phone', 'Phone', 'is_numeric|xss_clean');
        $this->form_validation->set_rules('comments', 'Comments', 'xss_clean');

        if ($this->form_validation->run() == FALSE) {

            $data["messages"] = "";
            $this->load->view('engage_header');
            $this->load->view('engage_nav');
            $this->load->view('contact/content_form', $data);
            $this->load->view('engage_footer');

        } else {

            $data["messages"] = "The Email has successfully been sent";

            $this->email->from(set_value("email"), set_value("name"));
            $this->email->to('test@test.com');

             $this->email->subject('Contact Request');

            $message  = "Name: " . $this->input->post('name') . "\n";
            $message .= "Email: " . $this->input->post('email') . "\n";
            $message .= "phone: " . $this->input->post('phone') . "\n\n";
            $message .= "Comments: " . $this->input->post('comments') . "\n";
            $message .= "Favorite Drink:" . $this->input->post('drinks') . "\n";

            $this->email->message($message);  

            $this->email->send();

            echo $this->email->print_debugger();

            $this->load->view('engage_header');
            $this->load->view('engage_nav');
            $this->load->view('contact/content_form', $data);
            $this->load->view('engage_footer');
        }   
    }

ファイルを閲覧する

<div class="form_wrapper">
        <div class="head_left">
        <p class="heading"><img src="/resources/css/images/mail_icon.png" width="32px" height="32px" class="mail_icon">Contact Us</p>
        </div>
        <div class="borders"></div>

        <div class="form_container_left">

        <?php echo form_open('/index.php/site/contact_email')?>
        <label for="name">Your Name:</label>
        <input type="text" name="name" id="name" required/>
        <br/>
        <br/>
        <br/>
        <label for="email">Email:</label>
        <input type="text" name="email" id="email" required/>
        <br/>
        <br/>
        <br/>
        <label for="phone">Phone:</label>
        <input type="text" name="phone" id="phone"/>
        <br/>
        <br/>
        <br/>
        <label for="messages">How Can We Help?:</label>
        <textarea rows="" cols="" id="messages" name="comments"></textarea>
        <br/>
        <br/>
        <br/>
        <input type="reset" name="Reset" id="reset_bar">
        <input type="submit" name="Submit" id="submit_bar" value="Submit"> 


        </div>
        <div class="form_container_right">
            <p  class="optional_heading">Your Favorite Drink (optional):</p>
            <div class="soda_container">
            <img src="/resources/css/images/Soda.png" width="64px" height="64px">
            <center><p id="soda_text">Soda</p></center>
            <br/>
            <center><input type="radio" name="drinks" id="soda" value="soda"></center>
            </div>
            <div class="coffee_container">
            <img src="/resources/css/images/coffee.png" width="64px" height="64px">
            <center><p id="coffee_text">Coffee</p></center>
            <br/>
            <center><input type="radio" name="drinks" id="coffee" value="coffee"></center>
            </div>
            <div class="water_container">
            <img src="/resources/css/images/water.png" width="64px" height="64px">
            <center><p id="water_text">Water</p></center>
            <br/>
            <center><input type="radio" name="drinks" id="water" value="water"></center>
            </div>
            <div class="beer_container">
            <img src="/resources/css/images/beer.png" width="64px" height="64px">
            <center><p id="beer_text">Beer</p></center>
            <br/>
            <center><input type="radio" name="drinks" id="beer" value="beer"></center>
            </div>
            <div class="wine_container">
            <img src="/resources/css/images/wine.png" width="64px" height="64px">
            <center><p id="wine_text">Wine</p></center>
            <br/>
            <center><input type="radio" name="drinks" id="wine" value="wine"></center>
            </div>
        </div>  
        <?php echo form_close()?>
4

1 に答える 1

0

set_radioラジオ ボタンの値を電子メールで送信するには、値パラメーターでネストされていることを宣言して、最初に設定する必要があります。そのようです

<input type="radio" name="drinks" id="water" value="water" <?=set_radio('drinks','water') ?>>

この情報を「コントローラー」に呼び戻す方法は多数あります。単純な方法を使用し$this->input->post('$variable')ました。

これが私がそれをメッセージに呼び出した方法であり、私にとってはうまくいきました。

    $message  = "Name: " . $this->input->post('name') . "\n";
    $message .= "Email: " . $this->input->post('email') . "\n";
    $message .= "Phone: " . $this->input->post('phone') . "\n\n";
    $message .= "Favorite Drink: " . $this->input->post('drinks') . "\n";
    $message .= "Comments: " . $this->input->post('comments') . "\n";

ビューに設定された名前の「値」は、コントローラーの$this->input->post('')パラメーターで渡された値と相関している必要があります。

これについてみんなの助けをありがとう!! ディレン

于 2012-08-29T21:43:38.910 に答える