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

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

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

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

2420閲覧

ユーザー登録画面を作成中ですが、エラーが出てしまいます。

Tomoaki_Fukuda

総合スコア75

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2015/10/19 04:43

webサービスのユーザー登録画面を作成中ですが、エラーが出てしまいます。どのように修正すれば良いかアドバイスを頂けませんでしょうか?

以下登録画面のHTML&PHPです。

index.php

1コード
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>新規会員登録</title> </head> <body> <p>必要事項をご記入ください</p> <form action="" method="post" enctype="multipart/form-data"> <dl> <dt>ユーザー名<font color="red"> 必須</font></dt> <dd> <input type="text" name="name" size="35" maxlength="255" value="<?php echo htmlspecialchars($_POST['name'], ENT_QUOTES, 'UTF-8'); ?>"> <?php if($Error['name'] == 'blank'): ?> <p><font color="red">* ユーザー名を入力してください</font></p> <?php endif; ?> </dd> <dt>メールアドレス<font color="red"> 必須</font></dt> <dd> <input type="text" name="mail" size="35" maxlength="255" value="<?php echo htmlspecialchars($_POST['mail'], ENT_QUOTES, 'UTF-8'); ?>"> <?php if($error['mail'] == 'blank'): ?> <p><font color="red">* メールアドレスを入力してください</font></p> <?php endif; ?> <?php if($error['mail'] == 'duplicate'): ?> <p><font color="red">* 指定されたメールアドレスは既に登録されています</font></p><?php endif; ?> </dd> <dt>パスワード<font color="red"> 必須</font></dt> <dd> <input type="password" name="pass" size="10" maxlength="20" value="<?php echo htmlspecialchars($_POST['pass'], ENT_QUOTES, 'UTF-8'); ?>"> <?php if($error['pass'] == 'blank'): ?> <p><font color="red">* パスワードを入力してください</font></p> <?php endif; ?> <?php if($error['pass'] == 'length'): ?> <p><font color="red">* パスワードは4文字以上で入力してください</font></p> <?php endif; ?> </dd> </dl> <div><input type="submit" value="入力内容を確認"></div> </form> <?php session_start(); if(!empty($_POST)){ //エラー項目の確認 if($_POST['name'] == ''){ $error['name'] = 'blank'; } if($_POST['mail'] == ''){ $error['mail'] = 'blank'; } if(strlen($_POST['pass']) < 4){ $error['pass'] = 'length'; } if($_POST['pass'] == ''){ $error['pass'] = 'blank'; } if(empty($error)){ $_SESSION['ドットインストール'] = $_POST; header('Location: check.php'); exit(); } } // 書き直し if ($_REQUEST['action'] == 'rewrite'){ $_POST = $_SESSION['ドットインストール']; $error['rewrite'] = true; } ?>

また、下記がエラー画面です。
(このファイルはindex.phpというファイル名です。)

イメージ説明

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Diffでも使って差分をみてください。

html

1<?php 2session_start(); 3 4if (!empty($_POST)) { 5 //エラー項目の確認 6 if ($_POST['name'] == '') { 7 $error['name'] = 'blank'; 8 } 9 if ($_POST['mail'] == '') { 10 $error['mail'] = 'blank'; 11 } 12 if (strlen($_POST['pass']) < 4) { 13 $error['pass'] = 'length'; 14 } 15 if ($_POST['pass'] == '') { 16 $error['pass'] = 'blank'; 17 } 18 19 if (empty($error)) { 20 $_SESSION['ドットインストール'] = $_POST; 21 header('Location: check.php'); 22 exit(); 23 } 24} 25// 書き直し 26if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'rewrite') { 27 $_POST = $_SESSION['ドットインストール']; 28 $error['rewrite'] = true; 29} 30?> 31<!DOCTYPE html> 32<html> 33 <head> 34 <meta charset="UTF-8" /> 35 <title>新規会員登録</title> 36 </head> 37 <body> 38 <p>必要事項をご記入ください</p> 39 <form action="" method="post" enctype="multipart/form-data"> 40 <dl> 41 <dt>ユーザー名<font color="red"> 必須</font></dt> 42 <dd> 43 <input type="text" name="name" size="35" maxlength="255" value="<?php 44 if (isset($error['name'])) { 45 echo htmlspecialchars($_POST['name'], ENT_QUOTES, 'UTF-8'); 46 } 47 ?>"> 48 <?php if (isset($error['name']) && $error['name'] == 'blank'): ?> 49 <p><font color="red">* ユーザー名を入力してください</font></p> 50 <?php endif; ?> 51 </dd> 52 <dt>メールアドレス<font color="red"> 必須</font></dt> 53 <dd> 54 <input type="text" name="mail" size="35" maxlength="255" 55 value="<?php 56 if (isset($error['mail'])) { 57 echo htmlspecialchars($_POST['mail'], ENT_QUOTES, 'UTF-8'); 58 } 59 ?>"> 60 <?php if (isset($error['mail']) && $error['mail'] == 'blank'): ?> 61 <p><font color="red">* メールアドレスを入力してください</font></p> 62 <?php endif; ?> 63 <?php if (isset($error['mail']) && $error['mail'] == 'duplicate'): ?> 64 <p><font color="red">* 指定されたメールアドレスは既に登録されています</font></p><?php endif; ?> 65 </dd> 66 <dt>パスワード<font color="red"> 必須</font></dt> 67 <dd> 68 <input type="password" name="pass" size="10" maxlength="20" 69 value="<?php 70 if (isset($error['pass'])) { 71 echo htmlspecialchars($_POST['pass'], ENT_QUOTES, 'UTF-8'); 72 } 73 ?>"> 74 <?php if (isset($error['pass']) && $error['pass'] == 'blank'): ?> 75 <p><font color="red">* パスワードを入力してください</font></p> 76 <?php endif; ?> 77 <?php if (isset($error['pass']) && $error['pass'] == 'length'): ?> 78 <p><font color="red">* パスワードは4文字以上で入力してください</font></p> 79 <?php endif; ?> 80 </dd> 81 </dl> 82 <div><input type="submit" value="入力内容を確認"></div> 83 </form> 84 </body> 85</html>

投稿2015/10/19 05:04

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Tomoaki_Fukuda

2015/10/19 12:29

ありがとうございます! 大変助かりました。差分についてしっかりと把握して勉強したいと思います。
guest

0

phpの部分をhtmlより前に書いて、各変数を初期化してください。

投稿2015/10/19 05:03

orange0190

総合スコア1698

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Tomoaki_Fukuda

2015/10/19 12:30

ご回答誠にありがとうございます。 大変参考になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問