アマゾンの評価のような星をクリックすると星の数が選択されるスター評価のコードを書いてます。
選択した評価で星の数の情報をphpで確認表示画面に送るコードを書いたのですが、submitを押して次の画面には行くのですが、phpが間違っていると思いますが、選択した星が表示されなくて困っています。
コードは星選択フォーム画面と確認画面の2つのコードを提示しています。
回答よろしくお願いいたします。
●星評価選択フォームの画面 b.php
<?php
session_start();
$errors = array();
if ($_POST) {
$rate = filter_input(INPUT_POST, 'rate');
if (empty($rate)) {
$errors[] = "評価をタップして下さい。";
} else {
// 各星のラジオボタンに評価値を設定
$_SESSION['rate'] = $rate;
header('Location:b2.php');
exit();
}
}
if (isset($_GET['action']) && $_GET['action'] === 'edit') {
$rate = $_SESSION['rate'];
}
?>
<style>
/* 選択の星のスタイル */
.rate-form {
display: flex;
flex-direction: row-reverse;
justify-content: flex-end;
}
.rate-form input[type=radio] {
display: none;
}
.rate-form label {
position: relative;
padding: 0 5px;
color: #ccc;
cursor: pointer;
font-size: 35px;
}
.rate-form label:hover {
color: #ffcc00;
}
.rate-form label:hover ~ label {
color: #ffcc00;
}
.rate-form input[type=radio]:checked ~ label {
color: #ffcc00;
}
<body>
<form action="b2.php" method="post" id="form">
<div class="rate-form">
<!-- 各星に評価値を設定 -->
<input id="star3" type="radio" name="rate" value="3">
<label for="star3">★</label>
<input id="star2" type="radio" name="rate" value="2">
<label for="star2">★</label>
<input id="star1" type="radio" name="rate" value="1">
<label for="star1">★</label>
</div>
<button id="submit" class="yohaku"></button>
</form>
●確認表示画面のPHP
<?php
session_start();
// セッションから評価値を取得
$rate = isset($_SESSION['rate']) ? $_SESSION['rate'] : '';
?>
<style>
/* 出力する星の大きさ */
.w {
font-size: 35px;
color: #ffcc00;
}
</style>
<body>
<form action="b3.php" method="post">
<div class="w"><?php echo $rate; ?></div>
<input type="submit" name="submit" value="評価を送信">
</form>
</body>
No.1ベストアンサー
- 回答日時:
ヒントです。
●星評価選択フォームの画面 b.php
------------------------------------------------------------
$_SESSION['rate'] = $rate;
header('Location:b2.php');
------------------------------------------------------------
<form action="b2.php" method="post" id="form">
------------------------------------------------------------
●確認表示画面のPHP b2.php
------------------------------------------------------------
$rate = isset($_SESSION['rate']) ? $_SESSION['rate'] : '';
------------------------------------------------------------
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 付属の写真のようにエラーが出るようにしたいです。 提示したコードだけでは、エラーメッセージ文字が上の 1 2021/11/23 08:27
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript javascriptとPHPで入力フォームのコードを書いているのですが、 流れとしては、①入力フォー 2 2021/12/02 09:18
- PHP 日付と年月日を選択するコードを書いているのですが、セレクトボックスの中に、「曜日」を表示させたいので 3 2021/12/10 09:20
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- AJAX jQueryを使いformでsubmitした時の位置を保持する方法について 4 2021/12/23 16:23
- JavaScript フォームの状態やGETのURLは保持しつつ、チェックボックスON/OFFした瞬間にSUBMITしたい 3 2021/10/24 01:12
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPでURLにジャンプするには?
-
フォームを作る
-
以下のx.phpにアクセスし
-
初歩的な質問ですが、入力に対...
-
mailtoで、文字化けを防ぎ、メ...
-
PHPの質問:フォームから受け取...
-
ローカルにあるhtmlのフォーム...
-
2つのフォームから同時に送信...
-
$_POST['hoge']のデータをフラ...
-
携帯サイトの入力フォームにつ...
-
セッションを使わずに遷移先画...
-
PHPでファイルアップロード時に...
-
文法エラーが解決出来ません・・
-
JavaScript変数をPHPへ渡す
-
アマゾンのような評価の星を選...
-
フォーム送信後の更新ボタンで...
-
<input type="hidden" >で配列...
-
PHP ボタンが押されたら処理を...
-
Flaskでサーバー立ち上げに関して
-
PHPでクリックするたびに変数を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPでURLにジャンプするには?
-
PHPのエラーの解消法について教...
-
セッションを使わずに遷移先画...
-
アマゾンのような評価の星を選...
-
JavaScript変数をPHPへ渡す
-
フォーム送信後の更新ボタンで...
-
テキストリンクをPOST送信したい
-
ボタンをクリックでPHP文を実行
-
フォームで作った送信ボタンが...
-
phpで、フォームのラジオボタン...
-
PHPでファイルアップロード時に...
-
PHPでバーコード読み取りって・...
-
送信ボタンでカウントアップ
-
VBSのIEオブジェクトでフ...
-
Submit(送信ボタン)を押した...
-
PHPの質問:フォームから受け取...
-
POSTデータをフォームに残す方法
-
リンク先のフォームに自動的に...
-
PHPの送信フォームについての質...
-
phpのカウンタのリセット方法
おすすめ情報