入力した項目のチェックを行う。
$autoload['libraries'] = array('form_validation');
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Sendmail extends CI_Controller {
public function _set_validation() {
$vconfig = array(
array(
'field' => 'name',
'label' => 'お名前',
'rules' => 'trim|required|max_length[20]|xss_clean'
),
array(
'field' => 'mail',
'label' => 'メール',
'rules' => 'trim|required|valid_email'
),
array(
'field' => 'subject',
'label' => '題名',
'rules' => 'trim|required|max_length[40]|xss_clean'
),
array(
'field' => 'body',
'label' => 'お取り合わせ',
'rules' => 'trim|required|xss_clean'
),
);
$this->form_validation->set_rules($vconfig);
$this->form_validation->set_error_delimiters('<div class="error">', '</div>');
}
public function index() {
$data['title']='メールフォーム';
$data['description']='メールフォームです。';
$this->load->view('mailform',$data);
}
public function confirm() {
self::_set_validation();
if ($this->form_validation->run() == FALSE)
{
self::index();
}
else
{
$data['title']='メール確認';
$data['name'] = htmlentities(
$this->input->post('name'),ENT_COMPAT,"UTF-8"
);
$data['mail'] = $this->input->post('mail');
$data['subject'] = htmlentities(
$this->input->post('subject'),ENT_COMPAT,"UTF-8"
);
$data['body'] = nl2br(htmlentities(
$this->input->post('body'),ENT_COMPAT,"UTF-8"
));
$this->load->view('confirm',$data);
}
}
public function send() {
$data['title']='お問い合わせ完了';
$this->load->view('send',$data);
}
}
<?php $this->load->view('elements/header');?>
<h1>メールでのお問い合わせ</h1>
<?php echo form_open('sendmail/confirm'); ?>
お名前<br />
<?php echo form_error('name'); ?>
<input id="name" type="text" name="name" value="<?php echo set_value('name', ''); ?>" /><br />
メール<br />
<?php echo form_error('mail'); ?>
<input id="mail" type="text" name="mail" value="<?php echo set_value('email', ''); ?>" /><br />
題名<br />
<?php echo form_error('subject'); ?>
<input id="subject" type="text" name="subject" value="<?php echo set_value('subject', ''); ?>" /><br />
お問い合わせ<br />
<?php echo form_error('body'); ?>
<textarea id="body" name="body"><?php echo set_value('body', ''); ?></textarea><br />
<input type="submit" value="確認画面へ">
<input type="reset" value="リセット"></br />
<?php echo form_close(); ?>
<?php $this->load->view('elements/footer');?>