回答編集履歴

1

追記

2016/06/06 07:58

投稿

退会済みユーザー
test CHANGED
@@ -7,3 +7,177 @@
7
7
 
8
8
 
9
9
  日本語ページは質問文の画像のようにすればいいでしょうし、英語ページなら、「名前」「フリガナ」「都道府県」じゃ英語圏の人には意味不明で、何を入力すべきかわかりませんよね。
10
+
11
+
12
+
13
+ ---
14
+
15
+
16
+
17
+ ```php
18
+
19
+ <?php
20
+
21
+
22
+
23
+ // escape
24
+
25
+ function h($str)
26
+
27
+ {
28
+
29
+ return htmlspecialchars($str, ENT_QUOTES, 'utf-8');
30
+
31
+ }
32
+
33
+
34
+
35
+ /**
36
+
37
+ * 言語の取得
38
+
39
+ * @return string
40
+
41
+ */
42
+
43
+ function getLang()
44
+
45
+ {
46
+
47
+ return ('' == filter_input(INPUT_GET, 'lang')) ? 'ja' : filter_input(INPUT_GET, 'lang');
48
+
49
+ }
50
+
51
+
52
+
53
+ /**
54
+
55
+ * フォームラベルの取得
56
+
57
+ * @param string $key
58
+
59
+ * @return string
60
+
61
+ */
62
+
63
+ function getLabel($key)
64
+
65
+ {
66
+
67
+ $lang = getLang();
68
+
69
+ $arr = [
70
+
71
+ 'name' => ($lang == 'ja') ? '氏名' : 'Name'
72
+
73
+ , 'email' => ($lang == 'ja') ? 'メールアドレス' : 'Email'
74
+
75
+ ];
76
+
77
+ return $arr[$key];
78
+
79
+ }
80
+
81
+
82
+
83
+ /**
84
+
85
+ * バリデーション
86
+
87
+ */
88
+
89
+ function validate()
90
+
91
+ {
92
+
93
+ $lang = getLang();
94
+
95
+ if ($lang == 'ja') {
96
+
97
+ //日本語の時の処理
98
+
99
+ } else if ($lang == 'en') {
100
+
101
+ //英語の時の処理
102
+
103
+ }
104
+
105
+
106
+
107
+ // 共通の処理
108
+
109
+ // 結果
110
+
111
+ return;
112
+
113
+ }
114
+
115
+
116
+
117
+ if (!is_null(filter_input_array(INPUT_POST))) {
118
+
119
+ // POST 時の処理
120
+
121
+ }
122
+
123
+ ?><!DOCTYPE HTML>
124
+
125
+ <html lang="ja">
126
+
127
+ <head>
128
+
129
+ <meta charset="UTF-8">
130
+
131
+ <title>サンプル</title>
132
+
133
+ </head>
134
+
135
+ <body>
136
+
137
+ <div>
138
+
139
+ <p>
140
+
141
+ <a href="?lang=ja">日本語</a>
142
+
143
+ |
144
+
145
+ <a href="?lang=en">English</a>
146
+
147
+ </p>
148
+
149
+ <form action="" method="post">
150
+
151
+ <p>
152
+
153
+ <label for="name"><?php echo h(getLabel('name')); ?></label>
154
+
155
+ <input type="text" name="name[]" id="name" />
156
+
157
+ <input type="text" name="name[]" />
158
+
159
+ </p>
160
+
161
+ <p>
162
+
163
+ <label for="email"><?php echo h(getLabel('email')); ?></label>
164
+
165
+ <input type="text" name="email" id="email" />
166
+
167
+ </p>
168
+
169
+ <p>
170
+
171
+ <button>送信</button>
172
+
173
+ </p>
174
+
175
+ </form>
176
+
177
+ </div>
178
+
179
+ </body>
180
+
181
+ </html>
182
+
183
+ ```