Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как определить индекс в PHP, если человек не выбрал ни один type="radio"?

Omlet Знаток (330), на голосовании 7 лет назад
Я постараюсь объяснить. У меня есть две страницы: page.php и handler.php. Из page.php я передаю по POST запросу данные на handler.php. Нужно ввести Имя и выбрать любимый цвет. Если пишешь имя и цвет, то всё ok, но если не выбираешь цвет, а оставляешь значения без выбора, то выдается ошибка:
Notice: Undefined index: favoritecolor in C:\xampp\htdocs\handler.php on line 11
То есть не определен индекс favoritecolor и я понимаю почему он не определен, но вот как исправить - ума не приложу.
Вот код page.php:


Как вас зовут:


Ваш любимый цвет:
Красный
Зелёный
Синий




А вот код handler.php:

$strHeading = $_POST["username"];

if ($strHeading == "") {
$strHeading = "Привет, незнакомец!";
}
else {
$strHeading = "Привет, " . $_POST["username"] . "";
}
switch ($_POST["favoritecolor"]) {
case 'r':
$strBackgroundColor = "rgb(255,0,0)";
break;
case 'g':
$strBackgroundColor = "rgb(0,255,0)";
break;
case 'b':
$strBackgroundColor = "rgb(0,0,255)";
break;
default:
$strBackgroundColor = "rgb(255,255,255)";
break;
}
Дополнен 7 лет назад
Не высветился html к сожалению... вот скриншот
Голосование за лучший ответ
Юрий Матвеенко Гуру (3120) 7 лет назад
Два варианта.
1) Поставить у любого радиоинпута атрибут checked
2) В php коде поставить условие. Например:
if($_POST['favoritecolor'])
{
echo $_POST['favoritecolor']
}
else
{
echo 'Пользователь не выбрал цвет';
}
Ну в Вашем случае при истине выполнить свитч
Похожие вопросы