このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

Archives Details

PHP 会員登録フォーム エラーメッセージ表示

PHP

2011.04.04

この記事は最終更新日から1年以上が経過しています。

会員登録フォームでよくある、「エラーメッセージ」表示についてです。

エラーがなければ、登録内容確認の画面へと遷移させます。

登録内容が「ニックネーム」「メールアドレス」「パスワード」があった場合、

HTML

<form action="" method="post" enctype="multipart/form-data">
  <dl>
    <dt>ニックネーム<span>必須</span></dt>
    <dd><input type="text" name="name" size="35" maxlength="255" /> </dd>
    <dt>メールアドレス</dt>
    <dd><input type="text" name="email" size="35" maxlength="255" /></dd>
    <dt>パスワード</dt>
    <dd><input type="password" name="password" size="10" maxlength="20"  /></dd>
  </dl>
  <div><input type="submit" value="入力内容を確認する" /></div>
</form>

index.phpファイルを作成。

Formを用意します。(form action=”” は 同ファイルのパス(index.php)と同様です。)

PHP

<?php
session_start();
if(!empty($_POST)){
  //エラー項目の確認
  //ニックネームが空の場合
  if($_POST['name'] == '') {
    $error['name'] = 'blank';
  }

  //メールアドレスが空の場合
  if($_POST['email'] == '') {
    $error['email'] = 'blank';
  }

  //パスワードが6文字以下の場合
  if(strlen($_POST['password']) < 6) {
    $error['password'] = 'length';
  }

  //パスワードが空の場合
  if($_POST['password'] == '') {
    $error['password'] = 'blank';
  }

  //エラーがない場合は確認ページへページ遷移
  if(empty($error)){
    $_SESSION['join'] = $_POST;
    header('Location: check.php');
  }
}
?>

同HTMLファイルの冒頭に記述します。

それぞれの値が空の場合は’blank’という値を代入(何でも良い)

また、パスワードが6文字以下の場合は’length’という値を代入(これまた何でも良い)

それでは、表示させたい箇所に

PHP

<?php if($error['name'] == 'blank'): ?>
  <p class="error">※必須 ニックネームを入力して下さい。</p>
<?php endif; ?>

このようにif文で表示させます。

各フォームの下に表示させたいときは

HTML

<dt>ニックネーム<span>必須</span></dt>
<dd><input type="text" name="name" size="35" maxlength="255" />
<?php if($error['name'] == 'blank'): ?>
  <p class="error">※必須 ニックネームを入力して下さい。</p>
<?php endif; ?>
</dd>

このように記述します。

同様に、if($error[‘name’]

の部分 ‘name’の値を’email’,’password’に変更し

各フォームの下にでも記述すれば、

各フォームの値が空のまま確認ボタンを押した場合「エラーメッセージ」表示となります。

また、パスワードが6文字以下の場合のPHP文は

<?php if($error['password'] == 'length'): ?>
<p class="error">※パスワードを6文字以上で入力して下さい。</p>
<?php endif; ?>

です。

<?php if($error['password'] == 'blank'): ?>
  <p>※必須 パスワードを入力して下さい。</p>
<?php1 endif; ?>
<?php if($error['password'] == 'length'): ?>
  <p class="error">※パスワードを6文字以上で入力して下さい。</p>
<?php endif; ?>

パスワードの値が空の場合の記述の後に記述するといいでしょう。

また、このままだと、

ユーザーが先ほど入力した情報が確認ボタンを押す事によって

消えてしまうので、各inputに

 value="<?php echo htmlspecialchars($_POST['name'], ENT_QUOTES,'UTF-8'); ?>

と、valueの値を付与する事によって、入力された情報を消さずに保つことが出来ます。

($_POST[‘name’]はそれぞれの値(’email’,’password’)に変更します。)

Comment

Related Article

Laravel 4 を PHP 7 環境へ移行したお話。

2018.06.10

PHP 簡易アクセスログ 出力

2016.04.29

Laravelを 別環境に移動したら画面が真っ白に。MacにComposer、php mcrypt 等をインストールしたお話。

2015.10.10

遅れましたが..あけましておめでとうございます!2015年は Laravelで画像処理。からということで。

2015.01.08

IDE phpstorm, IntelliJ IDEAの Database接続が便利すぎる件(Vagrant + IntelliJ IDEA でMySQL操作)

2014.11.29

Laravel4でもSmartyを使用したい!

2014.11.20

人気急上昇!PHPフレームワーク「Laravel」を使ってみました。簡易会員サイト作成編

2014.09.24

Laravel4 パーミッションエラー Vagrant パーミッションが変更しない件

2014.08.24

【CentOS6】 PHP5.3からPHP5.5にバージョンアップしました

2014.08.11

人気急上昇!PHPフレームワーク「Laravel」を使ってみました。 インストール 〜 起動まで。

2014.08.10

CATEGORY LIST

LATEST NEWS

ラズベリーパイ 5インチDSIタッチスクリーン ディスプレイを使う。

RaspberryPi

2021.01.11

今年読んで良かった書籍は、「Go言語でつくるインタプリタ」でした。

イベント

2020.12.31

【Qt】Macの、Qt Creatorで Dialog GUI作成

C++

2020.12.29

【Qt】Macで、Qt Creatorをbrew installしてサクッと起動する。

C++

2020.12.14

Macで、Qt5 開発 QPushButton、QSliderなどウィジェット作成

C++

2020.12.13

M1搭載 Mac miniをついにポチった件。Appleさんに翻弄される日々の記録。

mac

2020.12.06

Mac(gcc)で、C言語関数 getch関数を使う。

C

2020.12.05

Macで、Qt5をbrew installしてサクッと起動する。

C++

2020.12.02

Go言語でAssetsもシングルバイナリ化に便利な packr パッケージ

go

2020.11.25

Maker Faire Tokyo 2020に行ってきました。

イベント

2020.10.06

パックマン 解析プログラム動画から見る 追跡アルゴリズム

AI・Bot・algorithm

2020.09.23

Django (DRF)で、ユーザーのモデルを作成時にハッシュidを別で保存する。

Python

2020.09.10

RANKING

Follow

SPONSOR

現在、掲載募集中です。



Links

About Us

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、主に、ゲーム制作中心に港区六本木界隈で活動中。

FOLLOW US