このサイトは、只今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

Arduino IDEとArduino接続して、サクッと設定。

電子工作

2019.08.15

ついに、M5Stack Gray 購入!! その他諸々、購入したボードの振り返りなど。

電子工作

2019.08.12

正規表現 先読み後読み 論理積

JavaScript

2019.07.28

PythonでGUIアプリ開発「PyQt」を使った感想

Python

2019.07.18

「二段階認証?」という方も 5分で覚える パスワードレス WebAuthnのまとめ

JavaScript

2019.07.07

上級者向け JavaScript 問題集 「javascript-questions」日本語翻訳担当してます。

JavaScript

2019.06.22

Wordpress サイトで、長時間 500 Internal Server Error発生。解決した方法とは。

WordPress

2019.06.18

Ubuntu 18.04 LTSで OpenGL開発

ubuntu

2019.05.20

MacOS Mojave (10.14.4)の Xcode に、過去のMacOSのSDKをインストール

C++

2019.05.19

クローンソフトの「EaseUS Disk Copy」を使って、OSのバックアップを取ってみた。

tool

2019.05.06

Rails5 gemでmysql2が インストールできない

Ruby

2019.05.05

平成最後のお買い物!!「Logicool MX Master 2 Wireless Mouse」と「K780 マルチデバイス BLUETOOTH® キーボード」で快適PC生活。

ubuntu

2019.04.27

RANKING

Follow

SPONSOR

現在、掲載募集中です。



Links

About Us

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

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

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

FOLLOW US