質問編集履歴

5

説明追加

2018/11/11 10:52

投稿

sakuma_yujin
sakuma_yujin

スコア27

test CHANGED
File without changes
test CHANGED
@@ -28,6 +28,108 @@
28
28
 
29
29
 
30
30
 
31
+ 階層構造
32
+
33
+ ― index.html
34
+
35
+ ― login.php
36
+
37
+ ― javascript
38
+
39
+ ↳pload.js
40
+
41
+ index.html内の一部分にLogin.phpを呼び出して表示しています
42
+
43
+ ```HTML
44
+
45
+ <html>
46
+
47
+ <head>
48
+
49
+ <meta charset='utf-8'>
50
+
51
+ <title>test</title>
52
+
53
+ <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
54
+
55
+
56
+
57
+ <script type="text/javascript" src="js/pload.js"></script>
58
+
59
+
60
+
61
+ <link rel="stylesheet"type="text/css" href="css/index.css">
62
+
63
+ <link rel="stylesheet"type="text/css" href="css/Button.css">
64
+
65
+
66
+
67
+ </head>
68
+
69
+ <body>
70
+
71
+
72
+
73
+ <div id="allctnt">
74
+
75
+ <center>
76
+
77
+
78
+
79
+ <h1>GPm</h1>
80
+
81
+ <div id="plt">
82
+
83
+ <div id ="content"><h2>ようこそ!!</h2></div>
84
+
85
+ <div id ="logincontent"></div>
86
+
87
+ <input type="button" class="button" onclick='psbutton("#logincontent","php/login.php")'value="ENTER">
88
+
89
+ </div>
90
+
91
+
92
+
93
+
94
+
95
+ </center>
96
+
97
+ </div>
98
+
99
+
100
+
101
+ <!--<script type="text/javascript" src="https://cache1.value-domain.com/xa.j?site=yspr.s1007.xrea.com"></script>-->
102
+
103
+
104
+
105
+ </body>
106
+
107
+ </html>
108
+
109
+ ```
110
+
111
+
112
+
113
+ 呼び出しと表示用
114
+
115
+ ```Javascript
116
+
117
+ function psbutton(part,pname){
118
+
119
+ $(function(){
120
+
121
+ $(part).load(pname);
122
+
123
+ })
124
+
125
+ }
126
+
127
+ ```
128
+
129
+
130
+
131
+
132
+
31
133
 
32
134
 
33
135
  使用サーバ:XREAフリー

4

修正

2018/11/11 10:52

投稿

sakuma_yujin
sakuma_yujin

スコア27

test CHANGED
@@ -1 +1 @@
1
- XREAサーバでのPHPMyadmin,特無し解決しま
1
+ XREAサーバでのPHPMyadminの全限ユーザ作成ができません,サイトからのデータベース操作の方法を教えただけるとありがたいで
test CHANGED
@@ -30,7 +30,15 @@
30
30
 
31
31
 
32
32
 
33
- 追記しました;パスワードなどは隠してあります。イト側からのアクセスコドです
33
+ 使用サーバ:XREAフリー
34
+
35
+
36
+
37
+ 追記しました
38
+
39
+
40
+
41
+ Login.php
34
42
 
35
43
  ```PHP
36
44
 
@@ -42,15 +50,15 @@
42
50
 
43
51
  session_start();
44
52
 
45
-
53
+ header("Location: www.google.com"); // メイン画面へ遷移
46
54
 
47
55
  $db['host'] = "localhost"; // DBサーバのURL
48
56
 
49
- $db['user'] = ""; // ユーザー名
57
+ $db['user'] = "yspr"; // ユーザー名
50
58
 
51
59
  $db['pass'] = ""; // ユーザー名のパスワード
52
60
 
53
- $db['dbname'] = ""; // データベース名
61
+ $db['dbname'] = "yspr"; // データベース名
54
62
 
55
63
 
56
64
 
@@ -64,6 +72,8 @@
64
72
 
65
73
  if (isset($_POST["login"])) {
66
74
 
75
+
76
+
67
77
  // 1. ユーザIDの入力チェック
68
78
 
69
79
  if (empty($_POST["userid"])) { // emptyは値が空のとき
@@ -136,7 +146,7 @@
136
146
 
137
147
  $_SESSION["NAME"] = $row['name'];
138
148
 
139
- header("Location: home."); // メイン画面へ遷移
149
+ header("Location: home.php"); // メイン画面へ遷移
140
150
 
141
151
  exit(); // 処理終了
142
152
 
@@ -176,4 +186,92 @@
176
186
 
177
187
  ?>
178
188
 
189
+
190
+
191
+ <html>
192
+
193
+ <head>
194
+
195
+ <title>test</title>
196
+
197
+ <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
198
+
199
+ <link rel="stylesheet"type="text/css" href="css/Button.css">
200
+
201
+ </head>
202
+
203
+ <body>
204
+
205
+ <center>
206
+
207
+ <h1>ログイン画面</h1>
208
+
209
+
210
+
211
+ <form id="loginForm" name="loginForm" action="" method="POST">
212
+
213
+
214
+
215
+ <fieldset>
216
+
217
+ <legend>ログインフォーム</legend>
218
+
219
+ <div><font color="#ff0000"><?php echo htmlspecialchars($errorMessage, ENT_QUOTES); ?></font></div>
220
+
221
+ <label for="userid">ユーザーID</label><input type="text" id="userid" name="userid" placeholder="ユーザーIDを入力" value="<?php if (!empty($_POST["userid"])) {echo htmlspecialchars($_POST["userid"], ENT_QUOTES);} ?>">
222
+
223
+ <br>
224
+
225
+ <label for="password">パスワード</label><input type="password" id="password" name="password" value="" placeholder="パスワードを入力">
226
+
227
+ <br>
228
+
229
+ <input type="submit" id="login" name="login" value="ログイン">
230
+
231
+ </fieldset>
232
+
233
+
234
+
235
+ </form>
236
+
237
+ <br>
238
+
239
+ <form action="SignUp.php">
240
+
241
+ <fieldset>
242
+
243
+ <legend>新規登録フォーム</legend>
244
+
245
+ <input type="submit" value="新規登録">
246
+
247
+ </fieldset>
248
+
249
+ </form>
250
+
251
+ </center>center>
252
+
253
+ </body>
254
+
255
+ </html>
256
+
179
257
  ```
258
+
259
+
260
+
261
+
262
+
263
+
264
+
265
+ MySQL
266
+
267
+ データベース名:yspr
268
+
269
+
270
+
271
+ UserData
272
+
273
+ id |name|password|
274
+
275
+ |:--|:--:|--:|
276
+
277
+ ||||

3

コード追記

2018/11/11 10:43

投稿

sakuma_yujin
sakuma_yujin

スコア27

test CHANGED
File without changes
test CHANGED
@@ -25,3 +25,155 @@
25
25
 
26
26
 
27
27
  解決方法など心当たりある方いましたら教えていただけると幸いです
28
+
29
+
30
+
31
+
32
+
33
+ 追記しました;パスワードなどは隠してあります。サイト側からのアクセスコードです
34
+
35
+ ```PHP
36
+
37
+ <?php
38
+
39
+ //require 'password.php'; // password_verfy()はphp 5.5.0以降の関数のため、バージョンが古くて使えない場合に使用
40
+
41
+ // セッション開始
42
+
43
+ session_start();
44
+
45
+
46
+
47
+ $db['host'] = "localhost"; // DBサーバのURL
48
+
49
+ $db['user'] = ""; // ユーザー名
50
+
51
+ $db['pass'] = ""; // ユーザー名のパスワード
52
+
53
+ $db['dbname'] = ""; // データベース名
54
+
55
+
56
+
57
+ // エラーメッセージの初期化
58
+
59
+ $errorMessage = "";
60
+
61
+
62
+
63
+ // ログインボタンが押された場合
64
+
65
+ if (isset($_POST["login"])) {
66
+
67
+ // 1. ユーザIDの入力チェック
68
+
69
+ if (empty($_POST["userid"])) { // emptyは値が空のとき
70
+
71
+ $errorMessage = 'ユーザーIDが未入力です。';
72
+
73
+ } else if (empty($_POST["password"])) {
74
+
75
+ $errorMessage = 'パスワードが未入力です。';
76
+
77
+ }
78
+
79
+
80
+
81
+ if (!empty($_POST["userid"]) && !empty($_POST["password"])) {
82
+
83
+ // 入力したユーザIDを格納
84
+
85
+ $userid = $_POST["userid"];
86
+
87
+
88
+
89
+ // 2. ユーザIDとパスワードが入力されていたら認証する
90
+
91
+ $dsn = sprintf('mysql: host=%s; dbname=%s; charset=utf8', $db['host'], $db['dbname']);
92
+
93
+
94
+
95
+ // 3. エラー処理
96
+
97
+ try {
98
+
99
+ $pdo = new PDO($dsn, $db['user'],
100
+
101
+ $db['pass'], array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));
102
+
103
+
104
+
105
+ $stmt = $pdo->prepare('SELECT * FROM userData WHERE name = ?');
106
+
107
+ $stmt->execute(array($userid));
108
+
109
+
110
+
111
+ $password = $_POST["password"];
112
+
113
+
114
+
115
+ if ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
116
+
117
+ if (password_verify($password, $row['password'])) {
118
+
119
+ session_regenerate_id(true);
120
+
121
+
122
+
123
+ // 入力したIDのユーザー名を取得
124
+
125
+ $id = $row['id'];
126
+
127
+ $sql = "SELECT * FROM userData WHERE id = $id"; //入力したIDからユーザー名を取得
128
+
129
+ $stmt = $pdo->query($sql);
130
+
131
+ foreach ($stmt as $row) {
132
+
133
+ $row['name']; // ユーザー名
134
+
135
+ }
136
+
137
+ $_SESSION["NAME"] = $row['name'];
138
+
139
+ header("Location: home."); // メイン画面へ遷移
140
+
141
+ exit(); // 処理終了
142
+
143
+ } else {
144
+
145
+ // 認証失敗
146
+
147
+ $errorMessage = 'ユーザーIDあるいはパスワードに誤りがあります。';
148
+
149
+ }
150
+
151
+ } else {
152
+
153
+ // 4. 認証成功なら、セッションIDを新規に発行する
154
+
155
+ // 該当データなし
156
+
157
+ $errorMessage = 'ユーザーIDあるいはパスワードに誤りがあります。';
158
+
159
+ }
160
+
161
+ } catch (PDOException $e) {
162
+
163
+ $errorMessage = 'データベースエラー';
164
+
165
+ //$errorMessage = $sql;
166
+
167
+ // $e->getMessage() でエラー内容を参照可能(デバッグ時のみ表示)
168
+
169
+ // echo $e->getMessage();
170
+
171
+ }
172
+
173
+ }
174
+
175
+ }
176
+
177
+ ?>
178
+
179
+ ```

2

説明追加

2018/11/11 09:49

投稿

sakuma_yujin
sakuma_yujin

スコア27

test CHANGED
File without changes
test CHANGED
@@ -1,10 +1,12 @@
1
1
  サーバーの作成とPHPサイトの作成をしようと思いXREAに無料サーバを借りたのですがそこで借りたサーバでインストールしたPHPMyadmin(ボタン一つでインストール)にログインすると特権無しと表示されてしまい、新たな権限のユーザの追加、サイトからの操作ができません
2
+
3
+ ユーザ名、パスワードはサイトで付与されたものです
2
4
 
3
5
  サイトからの接続のみならばできました.
4
6
 
5
7
 
6
8
 
7
- ![![イメージ説明](f22cabc4ef0f51d48349aad74631bc6a.png)](a751ca9adee77d2cab04b6ea1c5b4cd0.png)
9
+ [![イメージ説明](f22cabc4ef0f51d48349aad74631bc6a.png)](a751ca9adee77d2cab04b6ea1c5b4cd0.png)
8
10
 
9
11
 
10
12
 
@@ -12,4 +14,14 @@
12
14
 
13
15
 
14
16
 
17
+ サイト側で操作しようとしたときのの表示は
18
+
19
+
20
+
21
+ > SQLSTATE[HY000] [1045] Access denied for user 'ユーザ名'@'localhost' (using password: YES)
22
+
23
+ となっています
24
+
25
+
26
+
15
27
  解決方法など心当たりある方いましたら教えていただけると幸いです

1

初心者アイコン

2018/11/11 07:17

投稿

sakuma_yujin
sakuma_yujin

スコア27

test CHANGED
File without changes
test CHANGED
File without changes