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

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

新規登録して質問してみよう
ただいま回答率
85.47%
Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

PHP

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

パスワード

パスワードは主に情報にアクセスする際に扱われます。主に、アクセス可能なユーザーを限定する手段として使われます。

Q&A

2回答

1408閲覧

会員登録作成 php

退会済みユーザー

退会済みユーザー

総合スコア0

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

PHP

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

パスワード

パスワードは主に情報にアクセスする際に扱われます。主に、アクセス可能なユーザーを限定する手段として使われます。

0グッド

0クリップ

投稿2020/04/29 04:55

前提・実現したいこと

PHPで会員登録のサイトを作成しております。
パスワードを含むデータを登録し次の内容確認(confirm.php)に繋げたい。

発生している問題・エラーメッセージ

パスワードを入力するも、パスワード確認で一致しませんと表示されてしまう。

エラーメッセージ
パスワードが一致しませんと表示される

該当のソースコード

php

<!DOCTYPE HTML> <html lang="ja"> <head> <meta charset="utf-8"> <title>会員登録</title> <link rel="stylesheet" type="text/css" href="register.css"> </head> <body> <header> <img src="xxxxxxx"> <div class="login"><a href="login.php">ログイン</a></div> </header> <main> <form action="register_confirm.php" method="post" enctype="multipart/form-data"> <div class="form_contents"> <h2>会員登録</h2> <div class="name"> <label>氏名</label><br> <input type="text" class="formbox" size="40" name="name" required> </div> <div class="mail"> <label>メールアドレス</label><br> <input type="text" class="formbox" size="40" name="mail" pattern="^[a-z0-9._%+-]+@[a-z0-9.-]+.[a-z]{2,3}$" required> </div> <div class="password"> <label>パスワード(半角英数字6文字以上)</label><br> <input type="password" class="formbox" size="40" name="password" id="password" pattern="^[a-zA-Z0-9]{6,}$" required> </div> <div class="password"> <label>パスワード確認</label><br> <input type="password" class="formbox" size="40" name="confirm_password" id="confirm" oninput="ConfirmPassword(this)"required> </div> <label>プロフィール写真></label><br> <input type="hidden" name="max_file_size" value="1000000"/> <input type="file" size="40" name="picture"> </div> <div class="comments"> <label>コメント</label><br> <textarea rows="5" cols="45" name="comments"></textarea> </div> <div class="toroku"> <input type="submit" class="submit_button" size="35" value="登録する"> </div> </form> </main> <footer> xxxxxxxxxxxxxxxxxxxxxxxxxx </footer> <script> function ConfirmPassword(confirm){ var input1 = password.value; var input2 = confirm.value; if(input1 != input2){ confirm.setCustomValidity("パスワードが一致しません。"); }else{ confirm.setCustomValidty(""); } } </script> </body> </html> ソースコード

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

追記等がございましたら、お知らせ頂けますと幸いです。
よろしくお願いいたします。

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

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

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

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

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

javahack

2020/04/29 05:20

タグに「PHP」となっていますが、oninputで呼ばれるのはJavaScriptのfunctionです。どちらで実装を考えていますか?
退会済みユーザー

退会済みユーザー

2020/04/29 07:24 編集

ご質問ありがとうございます。 参考書のphpに記載していたのを写経をしたものになります。 ですので、phpで考えております。
guest

回答2

0

<script> function ConfirmPassword(confirm){ var input1 = password.value; var input2 = confirm.value; if(input1 != input2){ confirm.setCustomValidity("パスワードが一致しません。"); }else{ confirm.setCustomValidty(""); } } </script>

このかしょ、jsだよね、
そしてconfirmは引数で与えられているけど、
passwordはどこから来るんでしょうね。
document.getElementById('password') とか
document.getElementById('confirm') とかすればいいと思うけども。
setCustomValidityのスペルも間違っているようだし、
ほんと、何がしたいのやら。

JavaScript:テキスト入力関連のイベント、onChange,onInput,onKeyUp | ハックノート
onInputイベントって、入力があれば発火するので、
1文字入力するごとにエラー表示があると逆にウザくならないかな。
パスワードのチェック処理が関数になっているのであれば、
タイマーを数百ミリ仕込んで遅延実行させるだけでも、
ウザさは軽減できそうな気がする。
か、onInputじゃなくonSubmitで待ち受けたほうがいいって話もあるし。

js上でチェックしたところで、でたらめにフォーム送信できないわけじゃないから、
もちろんサーバー側php上でも同様にチェックするのは当たり前。

投稿2020/04/29 06:25

編集2020/04/29 06:38
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2020/04/29 07:21

回答いただきありがとうございます。 後出しで申し訳ございませんが、こちらに記述したものに関しましては、 参考書(phpの所にありました)を見ながら写経をしたものになります。 会員登録のフォームに項目を入力し、登録するをクリックすると、確認画面へ移動させたかったのです。 もう一度、自分で調べます、お手数お掛け致しました
guest

0

PHPとjavascriptの関数を勘違いしてコメントしてしまいました。
すみません。

投稿2020/04/29 05:09

編集2020/04/29 05:14
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

javahack

2020/04/29 05:23

追記・修正依頼にも書きましたが、oninputで直接PHPの関数を呼ぶことはできません。タグが間違っているか質問者が勘違いしている可能性があります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問