質問するログイン新規登録

回答編集履歴

2

sample

2019/03/07 04:14

投稿

yambejp
yambejp

スコア118417

answer CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  # sample
14
14
  ちょっとざつですがsample
15
- (いろ問題があるので流れだけみて、そのままは流用しないで)
15
+ バリデートもサニタイズもしていので流れだけみて、そのままは流用しないで)
16
16
 
17
17
  ```PHP
18
18
  <?PHP

1

sample

2019/03/07 04:14

投稿

yambejp
yambejp

スコア118417

answer CHANGED
@@ -8,4 +8,73 @@
8
8
  なので入力から確認をモーダルで開く場合、バックグラウンドで
9
9
  データをやり取りしてその結果をモーダルに表示するという手順になります。
10
10
 
11
- dialogなど新し目のタグで処理するとスマートに見えると思います。
11
+ dialogなど新し目のタグで処理するとスマートに見えると思います。
12
+
13
+ # sample
14
+ ちょっとざつですがsample
15
+ (いろいろ問題があるので流れだけみて、そのままは流用しないで)
16
+
17
+ ```PHP
18
+ <?PHP
19
+ session_start();
20
+ $flg=filter_input(INPUT_POST,"flg");
21
+ $a=filter_input(INPUT_POST,"a");
22
+ $b=filter_input(INPUT_POST,"b");
23
+ if($flg==1){
24
+ $_SESSION["a"]=$a;
25
+ $_SESSION["b"]=$b;
26
+ print json_encode(["a"=>$a,"b"=>$b]);
27
+ exit;
28
+ }elseif($flg==2){
29
+ if(!isset($_SESSION["a"])){
30
+ header('Location:'.$_SERVER["SCRIPT_NAME"]);
31
+ exit;
32
+ }
33
+ print "完了";
34
+ print "a=".htmlspecialchars($_SESSION["a"])."/";
35
+ print "b=".htmlspecialchars($_SESSION["b"])."で登録";
36
+ unset($_SESSION["a"]);
37
+ unset($_SESSION["b"]);
38
+ exit;
39
+ }else{
40
+ print_r($_SESSION);
41
+ unset($_SESSION["a"]);
42
+ unset($_SESSION["b"]);
43
+ }
44
+ ?>
45
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
46
+ <script>
47
+ $(function(){
48
+
49
+ $(document).on('click','#close',function(e){
50
+ $('#dl').removeAttr('open');
51
+ });
52
+ $('#f1').on('submit',function(e){
53
+ e.preventDefault();
54
+ $.ajax({
55
+ "type":"post",
56
+ "data":new FormData($(this).get(0)),
57
+ "dataType":"json",
58
+ "cache":false,
59
+ "processData": false,
60
+ "contentType": false,
61
+ }).done(function(data){
62
+ $('#dl').remove();
63
+ var form=$('<form method="post">');
64
+ $('<div>').text("a:"+data.a).appendTo(form);
65
+ $('<div>').text("b:"+data.b).appendTo(form);
66
+ $('<input type="hidden" name="flg" value="2">').appendTo(form);
67
+ $('<div>').html($('<input type="submit" value="登録"><input type="button" id="close" value="閉じる">')).appendTo(form);
68
+ $('<dialog id="dl" open>').html(form).appendTo('body');
69
+ console.log(data);
70
+ });
71
+ });
72
+ });
73
+ </script>
74
+ <form method="post" id="f1">
75
+ a:<input type="text" name="a"><br>
76
+ b:<input type="text" name="b"><br>
77
+ <input type="submit" value="send">
78
+ <input type="hidden" name="flg" value="1">
79
+ </form>
80
+ ```