練習で作成しています。
一度、名前に入力したものをエラーが出た際にもそのまま名前を表示させたいのですが上手く行きません。
ここの所です。→ 名前を入力してください。<br>
<input type ="text" name ="name" value ="<?php echo htmlspecialchars($_POST['name']) ?>"><br>
どのように記述すれば良いか教えて下さい。
お願いします。
<?php
$me=[];
if ($_POST) {
$gender = filter_input(INPUT_POST, 'gender');
$cate = filter_input(INPUT_POST, 'cate');
if(!$_POST['name']) {
$me[] ='名前を入力して下さい。';
}
if(mb_strlen($_POST['name'])>10) {
$me[] ='10文字以下で入力してください。';
}
if(!isset($gender)) {
$me[] ='性別を選択して下さい。';
}
if(!isset($cate)) {
$me[] ='部署を選択して下さい。';
}
if(!$me) {
header('Location:2.php');
exit();
}
}
$_POST=[];
$_POST['name'] = '';
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<?php
if($me) {
foreach($me as $k) {
echo "<h4> $k </h4>";
echo "<br>";
}
}
?>
<form method ="POST" action ="1.php">
名前を入力してください。<br>
<input type ="text" name ="name" value ="<?php echo htmlspecialchars($_POST['name']) ?>"><br>
性別を選んで下さい。<br>
<input type="checkbox" name="gender[]" value="1">男性<br>
<input type="checkbox" name="gender[]" value="2">女性<br>
部署を選んで下さい。<br>
<input type="checkbox" name="cate[]" value="1">総務課<br>
<input type="checkbox" name="cate[]" value="2">営業課<br>
<input type="checkbox" name="cate[]" value="3">事業課<br>
<input type ="submit" value ="次へ">
</form>
</body>
</html>
No.1ベストアンサー
- 回答日時:
<?php
$me = [];
$name = filter_input(INPUT_POST, 'name');
$gender = filter_input(INPUT_POST, 'gender',FILTER_DEFAULT,FILTER_REQUIRE_ARRAY)??[];
$cate = filter_input(INPUT_POST, 'cate',FILTER_DEFAULT,FILTER_REQUIRE_ARRAY)??[];
$checked=[
"gender"=>[
1=>in_array(1,$gender)?" checked":"",
2=>in_array(2,$gender)?" checked":"",
],
"cate"=>[
1=>in_array(1,$cate)?" checked":"",
2=>in_array(2,$cate)?" checked":"",
3=>in_array(3,$cate)?" checked":"",
]
];
if($_SERVER["REQUEST_METHOD"]=="POST"){
if(empty($name)) {
$me[] ='名前を入力して下さい。';
}elseif(mb_strlen($name)>10){
$me[] ='10文字以下で入力してください。';
}
if(count($gender)==0) {
$me[] ='性別を選択して下さい。';
}
if(empty($cate)) {
$me[] ='部署を選択して下さい。';
}
if(count($me)){
print_r($me);
}
}
function h($val){
return htmlspecialchars($val);
}
?>
<form method ="POST">
名前を入力してください。<br>
<input type ="text" name ="name" value ="<?=h($name)?>"><br>
性別を選んで下さい。<br>
<label><input type="checkbox" name="gender[]" value="1"<?=$checked["gender"][1]?>>男性</label><br>
<label><input type="checkbox" name="gender[]" value="2"<?=$checked["gender"][2]?>>女性</label><br>
部署を選んで下さい。<br>
<label><input type="checkbox" name="cate[]" value="1"<?=$checked["cate"][1]?>>総務課</label><br>
<label><input type="checkbox" name="cate[]" value="2"<?=$checked["cate"][2]?>>営業課</label><br>
<label><input type="checkbox" name="cate[]" value="3"<?=$checked["cate"][3]?>>事業課</label><br>
<input type ="submit" value ="次へ">
</form>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP php ログイン 1 2022/11/01 00:24
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<input type="hidden" >で配列...
-
フォームボタンを押すたびに数...
-
入力した部分を表示させたまま...
-
チェックボックスによる検索
-
POSTデータのNAME属性をVALUEに...
-
HTMLで前の画面に戻る時、入力...
-
PHPでじゃんけん勝負
-
チェックボックスによる検索(...
-
PHP ボタンが押されたら処理を...
-
php mysql でチェックボックス...
-
フォームでのリセットを使う方法
-
PHPの関数実行
-
検索時の選択内容を保持する方法
-
チェックボックスの必須項目指定
-
PHPでCookieを使った訪問回数に...
-
HTMLのリンクをクリックするこ...
-
配列をhiddenで
-
DBの値をチェックボックスに反...
-
PHPで画像の渡しが上手く行きま...
-
phpで分からないエラーが出てし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<input type="hidden" >で配列...
-
検索時の選択内容を保持する方法
-
HTMLで前の画面に戻る時、入力...
-
DBの値をチェックボックスに反...
-
フォームへの前回入力値をクリ...
-
PHPでCookieを使った訪問回数に...
-
PHPで画像の渡しが上手く行きま...
-
PHP ボタンが押されたら処理を...
-
HTMLのリンクをクリックするこ...
-
syntax error, unexpected '}' ...
-
画面が更新されてもチェックボ...
-
チェックボックスのvalueを連結...
-
チェックボックスの必須項目指定
-
PHPでユーザー情報を入力して簡...
-
PHPの関数実行
-
POSTデータのNAME属性をVALUEに...
-
パラメーターを隠す
-
phpで分からないエラーが出てし...
-
PHPで、ボタンを押すと同じペー...
-
テキストボックスに初期値を入れる
おすすめ情報