質問編集履歴

1

具体的な事例を入力

2019/10/22 21:04

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -47,3 +47,197 @@
47
47
  特殊なやり方があるのでしょうか。
48
48
 
49
49
  それともそのようなことは各言語別々でないとできないのでしょうか。
50
+
51
+
52
+
53
+ 具体例
54
+
55
+ ---
56
+
57
+ 以下のhtmlは私の作成しているゲームなのですが、
58
+
59
+ 3行目 document.write("<?php");の最後の;
60
+
61
+ また、
62
+
63
+ 16行目あたり ,
64
+
65
+ そして、
66
+
67
+ さらに下 
68
+
69
+  ],
70
+
71
+ ['59:59.96','xyz'],
72
+
73
+ ['59:59.97','ijk'],
74
+
75
+ ['59:59.98','aaa'],
76
+
77
+ ['59:59.99','zzz'],
78
+
79
+ ];
80
+
81
+ の最初 ], と最後 ] でエラーが発生していました。
82
+
83
+ ```js
84
+
85
+ var r=[
86
+
87
+ [
88
+
89
+ document.write("<?php");
90
+
91
+ document.write("if (isset($_POST['message']) && $_POST['message'] != '') {");
92
+
93
+ document.write('$f = fopen("message.txt", "a");');
94
+
95
+ document.write('fwrite($f, htmlspecialchars($_POST["message"]) . "\n");');
96
+
97
+ document.write("fclose($f);");
98
+
99
+ document.write('}');
100
+
101
+ document.write("?>");
102
+
103
+ document.write('<form action="append.php" method="post">');
104
+
105
+ document.write('<p>メッセージ: <input name="message" size="60"></p>');
106
+
107
+ document.write('</form>');
108
+
109
+ document.write('<pre>');
110
+
111
+ document.write('<?php readfile("message.txt"); ?>');
112
+
113
+ document.write('</pre>*/');
114
+
115
+ ,
116
+
117
+ document.write("<?php");
118
+
119
+ document.write("if (isset($_POST['message']) && $_POST['message'] != '') {");
120
+
121
+ document.write('$f = fopen("message.txt", "a");');
122
+
123
+ document.write('fwrite($f, htmlspecialchars($_POST["message"]) . "\n");');
124
+
125
+ document.write("fclose($f);");
126
+
127
+ document.write('}');
128
+
129
+ document.write("?>");
130
+
131
+ document.write('<form action="append.php" method="post">');
132
+
133
+ document.write('<p>メッセージ: <input name="message" size="60"></p>');
134
+
135
+ document.write('</form>');
136
+
137
+ document.write('<pre>');
138
+
139
+ document.write('<?php readfile("message.txt"); ?>');
140
+
141
+ document.write('</pre>*/');
142
+
143
+ ],
144
+
145
+ ['59:59.96','xyz'],
146
+
147
+ ['59:59.97','ijk'],
148
+
149
+ ['59:59.98','aaa'],
150
+
151
+ ['59:59.99','zzz'],
152
+
153
+ ];
154
+
155
+ var qs=[
156
+
157
+ 'q1',
158
+
159
+ ];
160
+
161
+ const viewRank=()=>{
162
+
163
+ document.querySelector('#rank span').innerHTML=r.map(x=>x.join(" ")).join("<br>");
164
+
165
+ };
166
+
167
+ window.addEventListener('DOMContentLoaded',()=>{
168
+
169
+ viewRank();
170
+
171
+ document.querySelector('#start').addEventListener('click',e=>{
172
+
173
+ const t1=e.target;
174
+
175
+ const t2=document.querySelector('#a');
176
+
177
+ t1.disabled=true;
178
+
179
+ t2.disabled=false;
180
+
181
+ const name=prompt("お名前を入力してください。");
182
+
183
+ if(name=="") name="UnKnown";
184
+
185
+ (async()=>{
186
+
187
+ const s=new Date().getTime();
188
+
189
+ for(var i=0;i<qs.length;i++){
190
+
191
+ const qStr=qs[i];
192
+
193
+ document.querySelector('#q span').textContent=qStr;
194
+
195
+ t2.value="";
196
+
197
+ t2.focus();
198
+
199
+ await new Promise(resolve=>{
200
+
201
+ const timerId=setInterval(()=>{
202
+
203
+ if(t2.value==qStr){
204
+
205
+ clearInterval(timerId);
206
+
207
+ resolve();
208
+
209
+ }
210
+
211
+ },10);
212
+
213
+ });
214
+
215
+ }
216
+
217
+ const e=new Date().getTime();
218
+
219
+ const diff=e-s;
220
+
221
+ const str=(10000+diff/1000).toString();
222
+
223
+ const time=str.substr(1,2)+":"+
224
+
225
+ str.substr(3,5);
226
+
227
+ r.push([time,name]);
228
+
229
+ r=await r.sort((x,y)=>x[0]>y[0]?1:-1).splice(0,5);
230
+
231
+ viewRank();
232
+
233
+ t1.disabled=false;
234
+
235
+ t2.disabled=true;
236
+
237
+ })();
238
+
239
+ });
240
+
241
+ });
242
+
243
+ ```