質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CodeIgniter

CodeIgniterは、PHP向けオープンソースのWebアプリケーションフレームワークです。CodeIgniterは覚える構文が少なく、自由度も高いため、PHPを理解していれば構築が簡単です。

解決済

Codeigniter3.Xでメールアドレスの入力チェックができない

hidepon
hidepon

総合スコア206

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CodeIgniter

CodeIgniterは、PHP向けオープンソースのWebアプリケーションフレームワークです。CodeIgniterは覚える構文が少なく、自由度も高いため、PHPを理解していれば構築が簡単です。

1回答

0リアクション

0クリップ

1486閲覧

投稿2016/11/14 08:41

編集2016/11/16 08:04

CodeIgniterで開発を行っています。
入力チェックでemail がほかの項目と異なる挙動を示しています。
(下記はemailのみ抜粋)

<table class="table" id="tbl_member"> <tbody> <tr> <th>メールアドレス<span class="aster">※</span></th> <td><input type="text" name="email" id="email" /></td> </tr> <tr> <th>メールアドレス(確認)<span class="aster">※</span></th> <td><input type="text" name="email_conf" id="email_conf" /></td> </tr> </tbody> </table>

入力チェックのルール

public function index(){ //SESSIONデータ $session_array = array(); $session_array = $this->session->all_userdata(); //POSTデータ $post_array = array(); $post_array = $this->input->post(); $data = array(); //POSTデータが存在する if(!empty($post_array)){ //入力チェック if($this->validation_check()){ $data = array_merge($data,$post_array); $this->session->set_userdata($post_array); $data["title"] = "会員情報(新規登録)"; //HeaderのVIEW $this->load->view('/header/header_011',$data); $this->load->view('/common/parts_not_login',$data); $this->load->view('/member/confirm',$data); $this->load->view('/common/parts_footer',$data); } }else{ $data["title"] = "会員情報(新規登録)"; //HeaderのVIEW $this->load->view('/header/header_011',$data); $this->load->view('/common/parts_not_login',$data); $this->load->view('/member/input',$data); $this->load->view('/common/parts_footer',$data); } } //入力チェック private function validation_check(){ //SESSIONデータ $session_array = array(); $session_array = $this->session->all_userdata(); //POSTデータ $post_array = array(); $post_array = $this->input->post(); //検証ルール $this->form_validation->set_rules('email','メールアドレス',array('required','min_length[10]','max_length[128]','matches[email_conf]','callback_check_duplicate_email')); $this->form_validation->set_rules('email_conf','メールアドレス(確認)',array('required','min_length[10]','max_length[128]')); //入力チェック if($this->form_validation->run() == FALSE ){ $this->form_validation->set_error_delimiters('<span class="em">', '</span>'); //配列を結合する $data = array_merge($post_array,$data); $data["title"] = "会員情報(新規登録エラー)"; //HeaderのVIEW $this->load->view('/header/header_011',$data); $this->load->view('/common/parts_not_login',$data); $this->load->view('/member/input_error',$data); $this->load->view('/common/parts_footer',$data); return FALSE; }else{ return TRUE; } } //重複確認 public function check_duplicate_email(){ if($this->duplicate_check->Check_Duplicate_Email()){ $this->form_validation->set_message("check_duplicate_email","この%s は、すでに利用されています。"); return FALSE; } }

としているんですが、入力を行っても
emailが「メールアドレス欄は必須フィールドです。」
と表示されてしまいます。
どこがおかしいのでしょうか?
まったく見当がつかず困っています。
宜しくお願いいたします。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CodeIgniter

CodeIgniterは、PHP向けオープンソースのWebアプリケーションフレームワークです。CodeIgniterは覚える構文が少なく、自由度も高いため、PHPを理解していれば構築が簡単です。