#php #html #random
#php #HTML #Случайный
Вопрос:
В приведенном ниже фрагменте кода существует 4 текстовых поля. Вы можете ввести все, что хотите, в этих четырех текстовых полях, и когда вы нажмете кнопку «Выбрать одно», вы получите обратно текст, который вы ввели в текстовых полях. Но я хотел бы изменить эти текстовые поля на выпадающие списки, из которых вы можете выбрать четыре разные команды, и когда вы нажимаете кнопку «Выбрать одну», случайным образом вы получите одну из четырех выбранных вами команд.
<?php
error_reporting(0);
if(isset($_POST['submit']))
{
$team1=$_POST['team1'];
$team2=$_POST['team2'];
$team3=$_POST['team3'];
$team4=$_POST['team4'];
$teams=array
(
"1" =>"$team1",
"2" =>"$team2",
"3" =>"$team3",
"4" =>"$team4",
);
$random = rand(1, 4);
}
?>
<html>
<form action="index.php" method="POST">
Enter the team name<input type="text" name="team1" value="<?php echo $team1 ?>"><br>
Enter the team name<input type="text" name="team2" value="<?php echo $team2 ?>"><br>
Enter the team name<input type="text" name="team3" value="<?php echo $team3 ?>"><br>
Enter the team name<input type="text" name="team4" value="<?php echo $team4 ?>"><p>
<input type="submit" name="submit" value="Pick One!"><br>
</form>
<?php
print $teams["$random"];
?>
</html>
Комментарии:
1. Неясно, в чем заключается ваш актуальный вопрос здесь сейчас. Где / как это имеет какое-либо отношение к выпадающему меню?
2. извините, я пытаюсь объяснить лучше. Итак, прямо сейчас есть 4 места для ввода текста. Вы можете написать все, что хотите, и когда вы нажмете кнопку «Выбрать один», вы получите обратно любой текст, который вы ввели ранее. Я хотел бы изменить эти места ввода текста на выпадающие списки, где вы можете выбрать несколько команд, и когда вы нажмете «выбрать одну», вы получите 1 команду случайным образом.
Ответ №1:
Если вы хотите использовать выпадающие списки вместо текстовых полей, вы можете использовать фрагмент кода ниже:
<!DOCTYPE html>
<html>
<body>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>" method="post">
<label for="select1">Team 1: </label>
<select name="team1" id="select1">
<option>TeamName1</option>
<option>TeamName2</option>
...
</select><br/>
<label for="select2">Team 2: </label>
<select name="team2" id="select2">
<option>TeamName1</option>
<option>TeamName2</option>
...
</select><br/>
<label for="select3">Team 3: </label>
<select name="team3" id="select3">
<option>TeamName1</option>
<option>TeamName2</option>
...
</select><br/>
<label for="select4">Team 4: </label>
<select name="team4" id="select4">
<option>TeamName1</option>
<option>TeamName2</option>
...
</select><br/>
<input type="submit" name="submit" value="Submit">
</form>
<?php
if (!empty($_POST['submit'])) {
$randnumber = rand(1, 4);
echo $_POST['team' . $randnumber];
}
?>
</body>
</html>
Я надеюсь, что мой ответ будет полезен для вас
Комментарии:
1. к сожалению, я получаю сообщение об ошибке, когда пытаюсь добавить тег more option. Сообщение об ошибке: «Неопределенный индекс» (последние строки: 48 и 55), поэтому с for и rand что-то не так. Я пытаюсь увеличить его, но все еще плохо работает.
2. @Santiago так что извините меня за это. Это была моя ошибка. Я только что отредактировал приведенный выше фрагмент кода, поэтому, если вы используете его сейчас, проблем не будет.
3. я не хочу беспокоить вас такой маленькой проблемой, но это все еще работает плохо. Когда я пытаюсь увеличить, я получаю код ошибки, который выглядит так: «Неопределенное смещение: 4». Итак, когда прямо сейчас в настройках есть teamname1 и teamname2. Я добавляю teamname3, и когда я получаю beck this (teamname 3), я получаю такой код ошибки. Я пытаюсь увеличить ранд, но получаю то же сообщение об ошибке. (Обратите внимание: Неопределенное смещение: 4 в D:xampphtdocsindex.php в строке 55)
4. @Santiago, я только что изменил код. Пожалуйста, проверьте это еще раз. Так что извините меня за ошибки, которые вы получили.
5. прямо сейчас это идеально. Спасибо вам за все ваши усилия.