我对编程很陌生并且遇到以下问题。 我在表单复选框中列出了10个电影类型。用户选择他们喜欢的五部电影并点击提交。然后在下一页上,用户必须对他们从1-5中选择的5种电影类型进行排名(1是他们最喜欢的,5是最少的)。并按顺序回显结果。
我的复选框页面有以下代码:
<form id="genre" name="genre" method="post" action="picked3.php">
<input type="checkbox" name="moviegenres[]" id="moviegenres" value="Adventure"/>Adventure
<input type="checkbox" name="moviegenres[]" id="moviegenres" value="Animation"/>Animation
<input type="checkbox" name="moviegenres[]" id="moviegenres" value="Biography"/>Biography
<input type="checkbox" name="moviegenres[]" id="moviegenres" value="Classic"/>Classic
<input type="checkbox" name="moviegenres[]" id="moviegenres" value="Comedy"/>Comedy
<input type="checkbox" name="moviegenres[]" id="moviegenres" value="Crime"/>Crime
<input type="checkbox" name="moviegenres[]" id="moviegenres" value="Drama"/>Drama
<input type="checkbox" name="moviegenres[]" id="moviegenres" value="Spy"/>Spy
<input type="checkbox" name="moviegenres[]" id="moviegenres" value="War"/>War
<input type="checkbox" name="moviegenres[]" id="moviegenres" value="Western"/>Western
<input type="submit" value="Submit"></form>
但我需要帮助制作下一页,让用户能够对他们从1-5中选择的类型进行排名。我认为可以使用会话功能完成,对于每个变量循环,在上一页检查的内容和文本框中排名为1-5,但我不确定。
答案 0 :(得分:1)
在pick3.php中尝试这样的事情。还记得检查你的数据。
<?php
foreach($_POST['genre'] as $item) {
?>
<div>
Rank the genre <strong><?php echo $item; ?></strong>
<select name="<?php echo $item; ?>">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</div>
<?php
}
?>
答案 1 :(得分:0)
这对我有用。
<?php
$name = $_POST['moviegenres'];
if(isset($_POST['moviegenres'])) {
foreach ($name as $moviegenres){
?>
<tr><td nowrap="nowrap">
<input type="number" required="required" id="<?php echo $moviegenres ?>" name="movieranking[<?php echo $moviegenres ?>]" max="5" min="1" /> <?php echo $moviegenres ?>
</td><td><input name="movienames[]" type="text" id="movienames[]" placeholder="<?php echo $moviegenres ?> movie name"/></td></tr>
<?php
}
}