質問編集履歴
5
質問文冒頭の現状説明を追記しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
ある課題に取り組んでいて簡易掲示板を作っています。
|
2
|
+
テキスト保存のものを作った後、MySQL保存に変えたものを作っています。
|
1
3
|
php5.2.4(指定による)
|
2
4
|
mysqlのサーバー情報は伏せてあります。
|
3
5
|
|
4
サーバー情報が伏せてある旨記載しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
php5.2.4(指定による)
|
2
|
+
mysqlのサーバー情報は伏せてあります。
|
2
3
|
|
3
4
|
jsでパスワードの入力を求め、その値をPHP側の check_password に格納したいです。
|
4
5
|
jsで変数check_password を作り、その変数内でpromptを書いています。(これが正しいのかどうかも判断出来ません)(107行目から)
|
3
公開できない情報を削除しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -31,10 +31,10 @@
|
|
31
31
|
$replace_comment = str_replace( $replace_search, $replace, $comment ); //改行を置き換えられたコメント
|
32
32
|
$nothing_message = "";//番号がない時のmessageの初期化
|
33
33
|
//MySQL接続情報
|
34
|
-
$servername = "
|
34
|
+
$servername = "";
|
35
|
-
$username = "
|
35
|
+
$username = "";
|
36
|
-
$serverpassword = "
|
36
|
+
$serverpassword = "";
|
37
|
-
$dbname = "
|
37
|
+
$dbname = "";
|
38
38
|
//編集時の表示用名前とコメントの初期化
|
39
39
|
$edit_name = "";
|
40
40
|
$edit_comment = "";
|
2
インデントのみ修正してみました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -31,10 +31,10 @@
|
|
31
31
|
$replace_comment = str_replace( $replace_search, $replace, $comment ); //改行を置き換えられたコメント
|
32
32
|
$nothing_message = "";//番号がない時のmessageの初期化
|
33
33
|
//MySQL接続情報
|
34
|
-
$servername = "";
|
34
|
+
$servername = "localhost";
|
35
|
-
$username = "";
|
35
|
+
$username = "co-19-131.99sv-c";
|
36
|
-
$serverpassword = "";
|
36
|
+
$serverpassword = "x5M3YXQu";
|
37
|
-
$dbname = "";
|
37
|
+
$dbname = "co_19_131_99sv_coco_com";
|
38
38
|
//編集時の表示用名前とコメントの初期化
|
39
39
|
$edit_name = "";
|
40
40
|
$edit_comment = "";
|
@@ -120,40 +120,39 @@
|
|
120
120
|
<meta charset="utf-8">
|
121
121
|
<title>簡易掲示板MySQL保存版</title>
|
122
122
|
<script>
|
123
|
-
//削除時の確認
|
123
|
+
//削除時の確認
|
124
|
-
window.addEventListener('DOMContentLoaded', function(){
|
124
|
+
window.addEventListener('DOMContentLoaded', function(){
|
125
|
-
document.querySelector('#delete_button').addEventListener('click',function(e){
|
125
|
+
document.querySelector('#delete_button').addEventListener('click',function(e){
|
126
|
-
if(confirm("本当に削除しますか?")){//本当に削除しますか?と表示しyes,noの選択肢を出す
|
126
|
+
if(confirm("本当に削除しますか?")){//本当に削除しますか?と表示しyes,noの選択肢を出す
|
127
|
-
var
|
127
|
+
var check_password = prompt("パスワードを入力してください");//yesならパスワード入力を求める
|
128
|
-
}else{
|
128
|
+
}else{
|
129
|
-
|
129
|
+
alert('キャンセルされました');//「キャンセルされました」 と表示
|
130
|
-
e.preventDefault();//キャンセルの実行(defaultの動作を妨害)
|
130
|
+
e.preventDefault();//キャンセルの実行(defaultの動作を妨害)
|
131
|
-
}
|
131
|
+
}
|
132
|
-
});
|
132
|
+
});
|
133
|
-
|
134
|
-
});
|
133
|
+
});
|
135
134
|
|
136
135
|
//編集と削除時のパスワードの入力
|
137
|
-
window.addEventListener('DOMContentLoaded', function(){
|
136
|
+
window.addEventListener('DOMContentLoaded', function(){
|
138
|
-
document.querySelector('#edit_button').addEventListener('click',function(e){
|
137
|
+
document.querySelector('#edit_button').addEventListener('click',function(e){
|
139
|
-
if(!prompt("パスワードを入力してください")){
|
138
|
+
if(!prompt("パスワードを入力してください")){
|
140
|
-
alert('キャンセルされました');
|
139
|
+
alert('キャンセルされました');
|
141
|
-
e.preventDefault();
|
140
|
+
e.preventDefault();
|
142
|
-
}
|
141
|
+
}
|
143
|
-
});
|
142
|
+
});
|
144
|
-
});
|
143
|
+
});
|
145
144
|
|
146
145
|
//PHPへ値を渡す
|
147
|
-
|
146
|
+
$.ajax ( {
|
148
|
-
|
147
|
+
type: 'POST',
|
149
|
-
|
148
|
+
url: 'keijiban_mysql.php',
|
150
|
-
|
149
|
+
data: {
|
151
|
-
|
150
|
+
'check_password' : check_password,
|
152
|
-
|
151
|
+
},
|
153
|
-
|
152
|
+
success: function(data) {
|
154
153
|
alert(data);
|
155
|
-
|
154
|
+
}
|
156
|
-
});
|
155
|
+
});
|
157
156
|
</script>
|
158
157
|
<style>
|
159
158
|
.akaji {
|
@@ -166,11 +165,11 @@
|
|
166
165
|
</head>
|
167
166
|
<body>
|
168
167
|
<?php
|
169
|
-
var_dump($
|
168
|
+
var_dump($check_password);
|
170
|
-
//XSS対策
|
169
|
+
//XSS対策
|
171
|
-
function h( $str ) {
|
170
|
+
function h( $str ) {
|
172
|
-
|
171
|
+
return nl2br( htmlspecialchars( $str, ENT_QUOTES, 'UTF-8' ) );
|
173
|
-
}
|
172
|
+
}
|
174
173
|
//改行の置き換え
|
175
174
|
$replace_seach = array( "<<改行win>>", "<<改行mac>>", "<<改行unix>>" ); //改行の置き換え文字の検索
|
176
175
|
$replace = array( "\r\n", "\r", "\n" ); //改行コードへの置き換え
|
@@ -185,17 +184,29 @@
|
|
185
184
|
}
|
186
185
|
?>
|
187
186
|
<br>
|
188
|
-
<input type="hidden" name="edit_decision" value="<?php
|
187
|
+
<input type="hidden" name="edit_decision" value="<?php
|
188
|
+
echo $decision_no;
|
189
|
+
?>" >
|
189
|
-
<input type="text" name="name" id="name" required="required" value="<?php
|
190
|
+
<input type="text" name="name" id="name" required="required" value="<?php
|
191
|
+
echo $edit_name;
|
192
|
+
?>" >
|
190
193
|
<br>
|
191
|
-
<label for="comment">コメント<span class="akaji">【必須】</span></label>
|
194
|
+
<label for="comment">コメント<span class="akaji">【必須】</span></label><br>
|
192
|
-
<br>
|
193
|
-
|
195
|
+
<textarea name="comment" cols="30" rows="3" id="comment" required="required">
|
194
|
-
|
196
|
+
<?php
|
197
|
+
echo $edit_comment;
|
198
|
+
?>
|
199
|
+
</textarea><br>
|
195
200
|
<label for="possword">パスワード<span class="akaji">【必須】</span></label><br>
|
196
201
|
<input type="password" name="password" id="password" required="required">
|
197
202
|
<br>
|
198
|
-
<input type="submit" value=<?php
|
203
|
+
<input type="submit" value=<?php
|
204
|
+
if(!empty( $edit_no ) ){
|
205
|
+
echo '編集';
|
206
|
+
} else {
|
207
|
+
echo '投稿';
|
208
|
+
}
|
209
|
+
?> >
|
199
210
|
</form>
|
200
211
|
<br>
|
201
212
|
<!--削除番号指定用フォーム-->
|
@@ -207,8 +218,7 @@
|
|
207
218
|
}
|
208
219
|
?>
|
209
220
|
<br>
|
210
|
-
<input type="number" name="delete_no" id="delete_no" required="required">
|
221
|
+
<input type="number" name="delete_no" id="delete_no" required="required"><br>
|
211
|
-
<br>
|
212
222
|
<input type="submit" value="削除" name="btn" id="delete_button">
|
213
223
|
</form>
|
214
224
|
<br>
|
@@ -221,37 +231,36 @@
|
|
221
231
|
}
|
222
232
|
?>
|
223
233
|
<br>
|
224
|
-
<input type="number" name="edit_no" id="edit_no" required="required">
|
234
|
+
<input type="number" name="edit_no" id="edit_no" required="required"><br>
|
225
|
-
<br>
|
226
235
|
<input type="submit" value="送信" id="edit_button">
|
227
236
|
</form>
|
228
237
|
<br>
|
229
238
|
|
230
239
|
<?php
|
231
240
|
//投稿内容の表示
|
232
|
-
try {
|
241
|
+
try {
|
233
|
-
|
242
|
+
//テーブルの行数取得
|
234
|
-
|
243
|
+
$sql = 'select count(*) from toko';
|
235
|
-
|
244
|
+
$count = $db->query( $sql );
|
236
|
-
|
245
|
+
$count = $count->fetchColumn();
|
237
|
-
|
238
|
-
|
239
|
-
|
246
|
+
$select = "SELECT * FROM toko"; //テーブルデータの取得のクエリ
|
240
|
-
|
247
|
+
$select = $db->query( $select ); //クエリの実行
|
241
|
-
|
248
|
+
//投稿がない場合「投稿はまだありません」と表示する
|
242
|
-
if ( $count == 0 ) {
|
249
|
+
if ( $count == 0 ) {//行数が0だったら
|
243
|
-
echo "<p>投稿はまだありません</p>";
|
250
|
+
echo "<p>投稿はまだありません</p>";//投稿はまだありませんと表示する
|
244
|
-
} else {
|
251
|
+
} else {//その他の場合
|
245
252
|
foreach ( $select as $row ) { //ループして表示
|
246
253
|
echo "<span class='komoji'>No</span>:" . h( $row[ 'num' ] ) . "  " .
|
247
|
-
|
254
|
+
"<span class='komoji'>名前</span>: " . h( $row[ 'name' ] ) . "<br>" .
|
255
|
+
h( $row[ 'comment' ] ) . "<br>" .
|
256
|
+
"<span class='komoji'>".h( $row[ 'date' ] ) . "</span><br>";
|
248
257
|
}
|
249
258
|
}
|
250
259
|
|
251
|
-
} catch ( PDOException $e ) {
|
260
|
+
} catch ( PDOException $e ) {
|
252
|
-
|
261
|
+
print( "表示エラー:" . $e->getmessage() );
|
253
|
-
|
262
|
+
die();
|
254
|
-
}
|
263
|
+
}
|
255
264
|
|
256
265
|
?>
|
257
266
|
</body>
|
1
変数名が間違っていたので直しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
php5.2.4(指定による)
|
2
2
|
|
3
|
-
jsでパスワードの入力を求め、その値をPHP側の
|
3
|
+
jsでパスワードの入力を求め、その値をPHP側の check_password に格納したいです。
|
4
|
-
jsで変数
|
4
|
+
jsで変数check_password を作り、その変数内でpromptを書いています。(これが正しいのかどうかも判断出来ません)(107行目から)
|
5
5
|
動作としては、「本当に削除しますか」と表示し「yes」ならパスワードの入力を求めます。
|
6
6
|
そこまでは動作出来ています。(編集ではすぐパスワードを求めます)
|
7
7
|
その後パスワードをPHPに渡すところが出来ません。
|
@@ -10,7 +10,7 @@
|
|
10
10
|
色々探し回りましたが、まだ理解が追いついていません。
|
11
11
|
どの様に書けばよろしいでしょうか?
|
12
12
|
|
13
|
-
渡せたかどうかを見るために
|
13
|
+
渡せたかどうかを見るためにcheck_passwordをvar_dumpしています。(154行目)
|
14
14
|
|
15
15
|
```php
|
16
16
|
<?php
|