1) Да, вы можете использовать сеанс.Вы можете хранить каждый рейтинг в массиве.Обязательно вызовите session_start()
в первой строке страницы, прежде чем что-либо выводить.Для каждой страницы вы можете сделать что-то вроде этого:
//start using sessions
session_start();
//if the session variable is empty, create a new array
$votesArray = empty($_SESSION['votesArray']) ? array() : $_SESSION['votesArray'];
//push the submitted vote value
array_push($votesArray, $_POST['voteValue']);
//store the vote array in the session
$_SESSION['votesArray'] = $votesArray;
Затем на последней странице вы можете получить весь массив голосования, используя $_SESSION['votesArray']
, и делать с ним все, что вы хотите.1007 * 2) Это немного сложнее.Лично, когда я сталкиваюсь с подобными ситуациями, я использую индексирование для создания своей формы.Пример:
<form method="post" action="">
<?php
//for each car, generate the form
for($index=0;$index<$numberOfCars;$index++) {
?>
<input name="vote<?php echo $index;?>" type="hidden" value="5">
<?php
}
?>
<input type="submit">
<!-- stores the number of votes that will be submitted -->
<input name="numberOfVotes" type="hidden" value="<?php echo $numberOfCars; ?>">
</form>
Это выведет скрытый ввод для каждого автомобиля со значением голосования.Когда форма будет отправлена, вы будете использовать эту логику для получения каждого голоса:
<?php
for($i=0;$i<$_POST['numberOfVotes'];$i++) {
$vote = $_POST['vote'.$i]; //this is the i'th car's vote
}
?>