質問編集履歴

3

改善

2016/09/09 06:23

投稿

a-_.
a-_.

スコア133

test CHANGED
File without changes
test CHANGED
File without changes

2

改善

2016/09/09 06:23

投稿

a-_.
a-_.

スコア133

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 今回一番気になっているのはajaxを使わないでpost通信(遷移)を行う処理のやり方をお聞きしたいです
5
+ 今回一番気になっているのはajaxを使わないでpost通信(遷移)を行うという点なので、処理のやり方をお聞きしたいです
6
6
 
7
7
 
8
8
 

1

改善

2016/09/09 06:16

投稿

a-_.
a-_.

スコア133

test CHANGED
File without changes
test CHANGED
@@ -21,3 +21,293 @@
21
21
  ボタンを押す等何かの操作で次画面遷移時、押したボタンの種類の応じて各クラスいずれかのメインメソッドを呼び出し処理を行う
22
22
 
23
23
  の2つで⓵→⓶という流れにしたいのです
24
+
25
+
26
+
27
+ 追記
28
+
29
+ ※a.php
30
+
31
+ ```PHP
32
+
33
+ <?php
34
+
35
+ header("Content-Type: application/json; charset=UTF-8");//~json;だとAjax通信になってしまうので、ここも変更したい
36
+
37
+
38
+
39
+ if ($_POST['bbs'] == "post") {
40
+
41
+ require ("XXX1.php");//各~.phpへ異なる動作・遷移の処理を行う こちらでは投稿処理
42
+
43
+ $p_obj = new Post();
44
+
45
+ $p_obj -> name = $_POST['name'];
46
+
47
+ $p_obj -> comment = $_POST['comment'];
48
+
49
+ $p_obj -> post();
50
+
51
+ } elseif ($_POST['bbs'] == "update") {
52
+
53
+ require ("XXX2.php");//各~.phpへ異なる動作・遷移の処理を行う こちらでは更新処理
54
+
55
+ $u_obj = new Update();
56
+
57
+ $u_obj -> name = $_POST['name'];
58
+
59
+ $u_obj -> comment = $_POST['comment'];
60
+
61
+ $u_obj -> chk = $_POST['chk'];
62
+
63
+ $u_obj -> update();
64
+
65
+ } elseif ($_POST['bbs'] == "delete") {
66
+
67
+ require ("XXX3.php");//各~.phpへ異なる動作・遷移の処理を行う こちらでは削除処理
68
+
69
+ $d_obj = new Delete();
70
+
71
+ $d_obj -> chk = $_POST['chk'];
72
+
73
+ $d_obj -> delete();
74
+
75
+ }
76
+
77
+
78
+
79
+ require("XXX4.php");//各~.phpへ異なる動作・遷移の処理を行う こちらでは投稿した値の一覧を取得する処理
80
+
81
+ $l_obj = new List_table;
82
+
83
+ $data = $l_obj -> list();
84
+
85
+ echo json_encode($data); //←ここの文字列を返すコードも変更したい
86
+
87
+ exit;
88
+
89
+ ?>
90
+
91
+ ```
92
+
93
+ ※b.php
94
+
95
+ ```
96
+
97
+ <html>
98
+
99
+ <head>
100
+
101
+ <meta charset="utf-8">
102
+
103
+ <meta http-equiv="Content-Script-Type" content="text/javascript">
104
+
105
+
106
+
107
+ //下記jQueryの処理とフォームでの処理をa.phpへ送信したい
108
+
109
+ <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
110
+
111
+ <script>
112
+
113
+ $(function() {
114
+
115
+ $('input[name=bbs]').click(function(e) {
116
+
117
+ change($(this).prop('id'));
118
+
119
+ });
120
+
121
+ change($('input[name=bbs]:checked').prop('id'));
122
+
123
+ });
124
+
125
+ function condition() {
126
+
127
+ if ($('#r1').prop('checked')) {
128
+
129
+ with($('#name')) {
130
+
131
+ if (val().length >= 10) {
132
+
133
+ alert("ERROR");
134
+
135
+ return false;
136
+
137
+ }
138
+
139
+ if (val() === "") {
140
+
141
+ alert("ERROR");
142
+
143
+ return false;
144
+
145
+ }
146
+
147
+ }
148
+
149
+ with($('#comment')) {
150
+
151
+ if (val().length >= 300) {
152
+
153
+ alert("ERROR");
154
+
155
+ return false;
156
+
157
+ }
158
+
159
+ if (val() === "") {
160
+
161
+ alert("ERROR");
162
+
163
+ return false;
164
+
165
+ }
166
+
167
+ }
168
+
169
+ }
170
+
171
+ if($('#r2').prop('checked')||$('#r3').prop('checked')) {
172
+
173
+ if ($('[name="chkid[]"]:checked').length == 0) {
174
+
175
+ window.alert("ERROR");
176
+
177
+ return false;
178
+
179
+ }
180
+
181
+ }
182
+
183
+ return true;
184
+
185
+ }
186
+
187
+ function change(myid) {
188
+
189
+ var sendlist = {
190
+
191
+ "r1":{"text":"投稿",checkflg:true},
192
+
193
+ "r2":{"text":"更新",checkflg:false},
194
+
195
+ "r3":{"text":"削除",checkflg:false},
196
+
197
+ };
198
+
199
+ $('#send').val(sendlist[myid].text);
200
+
201
+ $('[name="chkid[]"]').prop('disabled',sendlist[myid].checkflg);
202
+
203
+ }
204
+
205
+ </script>
206
+
207
+ </head>
208
+
209
+ <body>
210
+
211
+
212
+
213
+ //フォーム入力と、各ボタン操作を行う
214
+
215
+ <form method="post" action="a.php" onsubmit="return condition()">
216
+
217
+ <table>
218
+
219
+ <tr>
220
+
221
+ <td>
222
+
223
+ 名前:<input type="text" name="name" id="name">
224
+
225
+ 内容:<textarea name="comment" cols="30" rows="3" id="comment"></textarea>
226
+
227
+ <input type="radio" name="bbs" id="r1" value="post" onChange="change(this)">投稿
228
+
229
+ <input type="radio" name="bbs" id="r2" value="update" onChange="change(this)">更新
230
+
231
+ <input type="radio" name="bbs" id="r3" value="delete" onChange="change(this)">削除
232
+
233
+ <input type="submit" value="投稿" id="send">
234
+
235
+ </td>
236
+
237
+ </tr>
238
+
239
+ </table>
240
+
241
+
242
+
243
+ <?php
244
+
245
+
246
+
247
+ $link = mysqli_connect($host, $user, $pass, $dbname) or die("NG");
248
+
249
+
250
+
251
+ mysqli_select_db($link, "xxx");
252
+
253
+
254
+
255
+ $result = mysqli_query($link, "SELECT * FROM xxx ORDER BY time DESC");
256
+
257
+
258
+
259
+ while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
260
+
261
+ ?>
262
+
263
+
264
+
265
+ <table>
266
+
267
+ <input type="checkbox" name="chkid[]" value="<?=$row['id'] ?>">
268
+
269
+ <tr>
270
+
271
+ <td>名前:
272
+
273
+ <?php echo $row['name'] ?>
274
+
275
+ </td>
276
+
277
+ </tr>
278
+
279
+ <tr>
280
+
281
+ <td>内容:
282
+
283
+ <?php echo $row['comment'] ?>
284
+
285
+ </td>
286
+
287
+ </tr>
288
+
289
+ </table>
290
+
291
+
292
+
293
+ <?php
294
+
295
+ }
296
+
297
+ mysqli_free_result($result);
298
+
299
+
300
+
301
+ mysqli_close($link);
302
+
303
+ ?>
304
+
305
+
306
+
307
+ </form>
308
+
309
+ </body>
310
+
311
+ </html>
312
+
313
+ ```