〇前提・実現したいこと
html+javascriptでログイン画面を作成(ネット上で拾ったものを少し加工)しました。
ユーザー名とパスワード入れるとアカウント毎に次の画面へ遷移するものです。
ここに含まれる、ユーザー名とパスワードをphpファイルに分離したいです。
〇発生している問題・エラーメッセージ
phpファイルに分離後、ログインすると次のページへ遷移しなくなります。
javascriptからphpファイルへの読み込みが上手くいきません。
〇該当のソースコード(抜粋です。意図通り動作します。)
javascript
1 <script> 2 var users = [ 3 {'name': 'user', 'password_hash': 'pass' }, 4 {'name': 'usr2', 'password_hash': 'pas2'} 5 ]; 6 var length = users.length; 7 8 $("input[type=submit]").click(function(event) { 9 10 event.preventDefault(); 11 12 var user = $("input[type='text']").val(); 13 var password = $("input[type='password']").val(); 14 var is_error = true; 15 16 $("input[type='password']").val(""); 17 18 for (var i = 0; i < length; ++i) { 19 20 if (user === users[i].name && password === users[i].password_hash) { 21 $("p#welcome").html("ようこそ、" + user + "さん"); 22 $("input[type='text']").val(""); 23 $("p#error_message").html(""); 24 location.href = user + password + ".html"; 25 is_error = false; 26 break; 27 } 28 29 } 30 31 if (is_error) { 32 $("p#error_message").html("ユーザー名もしくはパスワードが正しくありません。"); 33 } 34 }); 35 </script>
〇自分で調べたことや試したこと
・以下のphpファイルを作成しました。(ファイル名:users.php)
php
1<?php 2header("content-type: text/javascript"); 3$users = [ 4 {'name': 'user', 'password_hash': 'pass' }, 5 {'name': 'use2', 'password_hash': 'pas2'} 6 ]; 7$users = json_encode($users); 8?>
・javascript側で下記を削除/追加しました。
・削除
javascript
1var users = [ 2 {'name': 'user', 'password_hash': 'pass' }, 3 {'name': 'usr2', 'password_hash': 'pas2'} 4 ];
・追加
javascript
1 <script src="users.php"></script> 2 var users = JSON.parse('<?php echo $users; ?>');
プログラミング経験が乏しく、本を読んだり、ネットで検索しましたが解決できませんでした。ご協力を宜しくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/06/20 05:02
2022/06/20 08:28 編集