我对编程很陌生,有以下问题。我在表单复选框中列出了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排名,但我不确定。
在您的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
}
?>
我就是这么做的。
<?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
}
}