質問編集履歴
5
修正したソースコードを追記しました。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
PHP if文の中でJSは実行できない?
|
1
|
+
PHP if文の中でJSは実行できない?[追記あり]
|
test
CHANGED
@@ -16,9 +16,15 @@
|
|
16
16
|
|
17
17
|
読み込まれずスルーされます。
|
18
18
|
|
19
|
+
※追記
|
20
|
+
|
21
|
+
⇒if文の中に原因がありそうだったので、if文中身を追加しました。
|
22
|
+
|
19
|
-
|
23
|
+
返答を元に確認したところHeader関数のリダイレクト処理が原因のようです。
|
20
24
|
|
21
25
|
この処理が入るとなぜJSが実行されないのでしょうか?
|
26
|
+
|
27
|
+
⇒Header関数の使い方に誤りがありました。
|
22
28
|
|
23
29
|
|
24
30
|
|
@@ -36,9 +42,29 @@
|
|
36
42
|
|
37
43
|
echo "<script>alert('Hello')</script>" //実行されない
|
38
44
|
|
45
|
+
}
|
46
|
+
|
47
|
+
?>
|
48
|
+
|
49
|
+
```
|
50
|
+
|
51
|
+
```ここに言語を入力
|
52
|
+
|
53
|
+
//if文の中身を追記しました。
|
54
|
+
|
55
|
+
<?php
|
56
|
+
|
57
|
+
echo "<script>alert('Hello')</script>" //実行される
|
39
58
|
|
40
59
|
|
60
|
+
|
61
|
+
if($mode == "delete"){
|
62
|
+
|
63
|
+
echo "<script>alert('Hello')</script>" //実行されない
|
64
|
+
|
65
|
+
|
66
|
+
|
41
|
-
|
67
|
+
try {
|
42
68
|
|
43
69
|
$db->beginTransaction();
|
44
70
|
|
@@ -66,7 +92,7 @@
|
|
66
92
|
|
67
93
|
exit;
|
68
94
|
|
69
|
-
|
95
|
+
}
|
70
96
|
|
71
97
|
?>
|
72
98
|
|
4
Code機能を利用
test
CHANGED
File without changes
|
test
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
### 該当のソースコード
|
26
26
|
|
27
|
-
|
27
|
+
```ここに言語を入力
|
28
28
|
|
29
29
|
<?php
|
30
30
|
|
@@ -70,27 +70,11 @@
|
|
70
70
|
|
71
71
|
?>
|
72
72
|
|
73
|
-
### 試したこと
|
74
|
-
|
75
|
-
試しに、if文の途中で切ってHTML文としてJS分を挟んでも実行されません。
|
76
|
-
|
77
|
-
|
73
|
+
```
|
78
|
-
|
79
|
-
echo "<script>alert('Hello')</script>" //実行される
|
80
74
|
|
81
75
|
|
82
76
|
|
83
|
-
if($mode == "delete"){
|
84
|
-
|
85
|
-
?>
|
86
|
-
|
87
|
-
<script>alert('Hello')</script> //実行されない
|
88
|
-
|
89
|
-
|
77
|
+
### 試したこと
|
90
|
-
|
91
|
-
}
|
92
|
-
|
93
|
-
?>
|
94
78
|
|
95
79
|
|
96
80
|
|
3
test ⇒ deleteに変更
test
CHANGED
File without changes
|
test
CHANGED
@@ -80,7 +80,7 @@
|
|
80
80
|
|
81
81
|
|
82
82
|
|
83
|
-
if($mode == "te
|
83
|
+
if($mode == "delete"){
|
84
84
|
|
85
85
|
?>
|
86
86
|
|
2
if文中を記載
test
CHANGED
File without changes
|
test
CHANGED
@@ -16,6 +16,10 @@
|
|
16
16
|
|
17
17
|
読み込まれずスルーされます。
|
18
18
|
|
19
|
+
※追記 if文の中に原因がありそうだったので確認したところHeader関数のリダイレクト処理が原因のようです。
|
20
|
+
|
21
|
+
この処理が入るとなぜJSが実行されないのでしょうか?
|
22
|
+
|
19
23
|
|
20
24
|
|
21
25
|
### 該当のソースコード
|
@@ -28,9 +32,39 @@
|
|
28
32
|
|
29
33
|
|
30
34
|
|
31
|
-
if($mode == "te
|
35
|
+
if($mode == "delete"){
|
32
36
|
|
33
37
|
echo "<script>alert('Hello')</script>" //実行されない
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
try {
|
42
|
+
|
43
|
+
$db->beginTransaction();
|
44
|
+
|
45
|
+
$stmt = $db->prepare("DELETE FROM posts WHERE post_id = ?");
|
46
|
+
|
47
|
+
$stmt->execute(array($request["post_id"]));
|
48
|
+
|
49
|
+
$db->commit();
|
50
|
+
|
51
|
+
} catch (PDOException $e) {
|
52
|
+
|
53
|
+
// エラー発生時
|
54
|
+
|
55
|
+
$db->rollBack();
|
56
|
+
|
57
|
+
exit("クエリの実行に失敗しました");
|
58
|
+
|
59
|
+
}
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
//header関数でリダイレクト
|
64
|
+
|
65
|
+
header("Location: post_list.php"); //ここが原因
|
66
|
+
|
67
|
+
exit;
|
34
68
|
|
35
69
|
}
|
36
70
|
|
1
$mode == "test" 個所を修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -28,7 +28,7 @@
|
|
28
28
|
|
29
29
|
|
30
30
|
|
31
|
-
if($mode == test){
|
31
|
+
if($mode == "test"){
|
32
32
|
|
33
33
|
echo "<script>alert('Hello')</script>" //実行されない
|
34
34
|
|
@@ -46,7 +46,7 @@
|
|
46
46
|
|
47
47
|
|
48
48
|
|
49
|
-
if($mode == test){
|
49
|
+
if($mode == "test"){
|
50
50
|
|
51
51
|
?>
|
52
52
|
|