質問編集履歴

1

cookieを残し、renderを使えば入力されると思っていたが、cookieを使わず入力された値を$this->request->dataを初期値としてセットするように変更。

2018/05/19 04:51

投稿

minusion
minusion

スコア17

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- CakePHPにて、コントローラーでpreg_matchを使い入力チェクを行った後に、エラーがあれば入力画面へ戻り(render)、エラーがなければ確認画面に飛ぶ処理を作ろうとしています。
1
+ CakePHPにて、コントローラーでpreg_matchを使い入力チェクを行った後に、エラーがあれば入力された値を持ったまま入力画面へ戻り(render)、初期値としてセット。エラーがなければ確認画面に飛ぶ処理を作ろうとしています。
2
2
 
3
3
 
4
4
 
@@ -80,36 +80,98 @@
80
80
 
81
81
  $moge = $this->__preg_match ( $hankakuei );
82
82
 
83
-
84
-
85
- // $POSTデータから入力した値を取得
86
-
87
- $mailaddress = $_POST ['mailaddress']; // 全角文字
88
-
89
- $honbun = $_POST ['zenkaku']; // メールアドレス
90
-
91
- $hankakuei = $_POST ['hankakuei']; // 半角英字
92
-
93
- $hankakusuu = $_POST ['hankakusuu']; // 半角数字
94
-
95
-
96
-
97
- // クッキーに値を登録
98
-
99
- setcookie ( "mailaddress", $mailaddress, time () + 3600 ); // 1時間で消えるクッキーを設定
100
-
101
- setcookie ( "zenkaku", $honbun, time () + 3600 ); // 1時間で消えるクッキーを設定
102
-
103
- setcookie ( "hankakuei", $hankakuei, time () + 3600 ); // 1時間で消えるクッキーを設定
104
-
105
- setcookie ( "hankakusuu", $hankakusuu, time () + 3600 ); // 1時間で消えるクッキーを設定
106
-
107
83
  }
108
84
 
109
85
  ```
110
86
 
111
87
 
112
88
 
89
+ ```PHP(view:入力画面)
90
+
91
+ <form action="Contact/contact_2" method="post">
92
+
93
+
94
+
95
+ <p>名前</p>
96
+
97
+ <input type="text" name="input_name" />
98
+
99
+ <br />
100
+
101
+
102
+
103
+ <p>本文</p>
104
+
105
+ <textarea name="honbun" rows="4" cols="40"></textarea>
106
+
107
+ <br />
108
+
109
+ <!-- JavaScriptを使った入力チェック -->
110
+
111
+ <div class="zenkaku" id="zenkaku">
112
+
113
+ <p>全角文字</p>
114
+
115
+ <input type="text" name="zenkaku" value=""/>
116
+
117
+ <br />
118
+
119
+ </div>
120
+
121
+ <div class="mailaddress" id="mailaddress">
122
+
123
+ <p>メールアドレス</p>
124
+
125
+ <input type="text" name="mailaddress" value=""/>
126
+
127
+ <br />
128
+
129
+ </div>
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+ <!-- PHPを使った入力チェック -->
138
+
139
+ <div class="hankakuei" id="hankakuei">
140
+
141
+ <p>半角英字</p>
142
+
143
+ <input type="text" name="hankakuei" value=""/>
144
+
145
+ <br />
146
+
147
+ </div>
148
+
149
+
150
+
151
+ <div class="hankakusuu" id="hankakusuu">
152
+
153
+ <p>半角数字</p>
154
+
155
+ <input type="text" name="hankakusuu" value=""/>
156
+
157
+ <br />
158
+
159
+ </div>
160
+
161
+
162
+
163
+ <input type="submit" value="送信" />
164
+
165
+
166
+
167
+
168
+
169
+ </form>
170
+
171
+ ```
172
+
173
+
174
+
113
175
  ```PHP(view:確認画面)
114
176
 
115
177
  <body>
@@ -200,6 +262,6 @@
200
262
 
201
263
  ```
202
264
 
203
- renderを使えばできるのではないかと考えたのですが、処理の筋道が頭の中でまとまりません。
265
+ renderを使えばできるのではないかと考えたのですが、頭の中でまとまりません。
204
266
 
205
267
  どなたか、ご存知な方いらっしゃいましたら教えていただけると助かります。