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

回答編集履歴

1

SESSIONの導入

2020/12/09 16:44

投稿

EbiTT
EbiTT

スコア12

answer CHANGED
@@ -1,4 +1,7 @@
1
+ まず,大前提としてsubmitボタンを押下するとページはリロードされ定義していた変数は一度全て開放(削除)されてしまいます。そこでSESSION変数の使用をお勧めします。SESSION変数であれば,unsetしない限り基本的には保存されます。
2
+
1
3
  検索時に出てくるNoticeエラーについては,if文でPOSTデータが存在する時のみ各変数へ代入するという処理で回避できます。
4
+ ``$name,$gender,$birthday``といった変数系は以下に示したSESSION変数で置き換えると良いと思います。
2
5
 
3
6
  ```PHP
4
7
 
@@ -9,11 +12,16 @@
9
12
  上記部分をこのようにしてみてはいかがでしょうか。
10
13
 
11
14
  ```PHP
12
- if(isset($_POST['name7])&&isset($_POST['gender'])):
13
- $name=$_POST['name'];
15
+ if(!isset($_SESSEION['name'])):
14
- $gender=$_POST['gender'];
16
+ header("Location:前のページのパス名をここへ入力");
15
17
  endif;
18
+ if(isset($_POST['name'])&&isset($_POST['gender'])):
19
+ $_SESSION['name']=$_POST['name'];
20
+ $_SESSION['gender']=$_POST['gender'];
21
+ endif;
16
22
  if(isset($_POST['birthday'])):
17
- $birthday=$_POST['birthday'];
23
+ $_SESSION['birthday']=$_POST['birthday'];
18
24
  endif;
19
- ```
25
+ ```
26
+
27
+ 色々不完全な答えですが,いったん失礼します。