Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Переключение с помощью type=radio


Автор: DzSoft 19.4.2008, 03:13
Есть регистрационная форма пользователя. 
При загрузке появляется выбор регистрационной формы
Физическое лицо или Юридическое лицо

Как мне сделать что бы при выборе radio или 1, или 2 выводилась та или другая форма.

Код

echo "<table width=98% align=center topmargin=0 leftmargin=0 rightmargin=0 cellspacing=0 cellpadding=0>
<tr><td background=images/bgser.jpg><font class=text><b>Регистрация нового покупателя</b></font></td><tr></table>
<table><tr><form method=post action=\"osnov.php?c=21\"><td>
<input type=radio name=mon value=1 CHECKED> Физическое лицо<br>
<input type=radio name=mon value=2> Юридическое лицо<br><br>
<input type=submit value=\"Зарегистрироваться\" class=submit4>
</td></tr></table></form>";
echo " Фамилия, имя, отчество:";
echo "Ваш контактный телефон:";
echo "Наименование организации:"; // (появлялось когда нажимали на юр лицо, когда на физ. лицо этого не было бы)
echo "Фактический адрес:"; //(появлялось когда нажимали на юр лицо, когда на физ. лицо этого не было бы)
echo "ИНН:";// (появлялось когда нажимали на юр лицо, когда на физ. лицо этого не было бы)
echo "Ваш Email:";
echo "Ваш адрес доставки:";
echo "Ближайшее метро (для города Москвы):";
echo "Комментарий/проезд:";
echo "Ваш логин:";
echo "Пароль:";
echo "Повторите пароль:";


Автор: skyboy 19.4.2008, 08:40
т.е. ты хочешь выбрать radio, потом заставить пользователя перезагрузить страницу, только чтоб получить другую форму? 
а если пользователь просто промахнулся в выборе  - опять пусть страницу перезагружает?
или все же без перезагрузки страницы будем отображать ту или иную форму?

Автор: awers 19.4.2008, 08:42
Так или иначе это не php

Автор: skyboy 19.4.2008, 09:06
awers, погоди. а вдруг ему и правда - надо с перезагрузкой страницы? тогда надо будет рассказать про оператор выбора http://ua.php.net/manual/ru/control-structures.if.php. А перенести - всегда успеется  smile 

Автор: awers 19.4.2008, 09:08
skyboy, судя по коду в первом посте придется для начала рассказать про конкатинацию с помощью "."  smile 

Автор: NNaarreekk 19.4.2008, 12:51
Цитата(skyboy @  19.4.2008,  11:06 Найти цитируемый пост)
погоди. а вдруг ему и правда - надо с перезагрузкой страницы


Даже если и с перезагрузкой, это все равно JS!

Я не прав?

Код

<input type=radio name=mon value=1 onclick='locaton.href="...?x=1"'> Физическое лицо<br>
<input type=radio name=mon value=2 onclick='locaton.href="...?x=2"'> Юридическое лицо<br><br>


правда тут не onclick нужен, просто я забыл как нужно для radio  smile 

Автор: DzSoft 19.4.2008, 19:11
skyboy, грубо говоря да.

Я задумал что бы пользователь нажимал на кнопку "зарегистрировать" в форме 1.

Страниза перезагружалась со сменой формы.

1 форма:
Код

echo "<table width=98% align=center topmargin=0 leftmargin=0 rightmargin=0 cellspacing=0 cellpadding=0>
<tr><td background=images/bgser.jpg><font class=text><b>Регистрация нового покупателя</b></font></td><tr></table>
<table><tr><form method=post action=\"osnov.php?c=21\"><td>
<input type=radio name=mon value=1 CHECKED> Физическое лицо<br>
<input type=radio name=mon value=2> Юридическое лицо<br><br>
<input type=submit value=\"Зарегистрироваться\" class=submit4>
</td></tr></table></form>";

 
Пропадал, и потом возникла другая форма которую выбрал пользователь.

Промах тут ограничен, ну на крайняк посталю защитку с подтверждением. smile 

Автор: skyboy 19.4.2008, 22:01
Цитата(DzSoft @  19.4.2008,  18:11 Найти цитируемый пост)
грубо говоря да.

так проблема  в том, чтоб поставить if в скрипте-обработчике первой формы с radio-button'ами? 0_о

Добавлено через 1 минуту и 6 секунд
Цитата(NNaarreekk @  19.4.2008,  11:51 Найти цитируемый пост)
Даже если и с перезагрузкой, это все равно JS!

ты о чем? смена формы с перезагрузкой страницы - подозрительно по своей нерациональности, но зачем при этом "надо" задействовать js - загадка для меня.
просветишь?

Автор: DzSoft 19.4.2008, 22:24
да!

не могу поставить... И так пытался и сяк. я не давно php начал изучать, но многое понял.

Подскажи пожалуйста. только с обьяснениями, что куда, как.
Что бы понятно было, а то прочитал http://ua.php.net/manual/ru/control-structures.if.php
попробывал, да не допёрло. В голове понятия есть, а на практике не получается.

Автор: Fortop 19.4.2008, 22:59
Цитата(DzSoft @  19.4.2008,  22:24 Найти цитируемый пост)
не могу поставить... И так пытался и сяк. я не давно php начал изучать, но многое понял.

DzSoft, я смотрю, вы - халявщик.

Вы уже использовали if  в своем коде, равно как и получали данные из формы.
Сложно совместить два этих полученых Вами знания?
Сделать проверку пришедших данных и задействовать тот или другой код. Это сложно?
Не думаю. И это мне не нравится.

Автор: DzSoft 19.4.2008, 23:09
Fortop, извини меня конечно.
Я просто и правда не могу понять. Так бы я не просил помощи.

Подскажи пожалуйста.

Я не думаю, что это будет халява, зато мне будет большая помощь да и в будущем буду знать.

Да и халявщиком я не когда не был.

Автор: Fortop 20.4.2008, 00:41
Возможно я ошибаюсь и неправ, прошу прощения.

Но получить данные с формы ты можешь?

что тебе мешает сделать

Код

if (1 == $_POST['mon']) {
//выводим 1ю форму
} elseif(2 == $_POST['mon'])  {
//выводим 2ю форму
} else {
// какая-то непредусмотренная ерунда - т.е. либо взлом, либо ошибка.
}


еще лучше это сделать с помощью switch

Код

switch ($_POST['mon']) {
  case '1':
    //выводим 1ю форму
    break;
  case '2':
    //выводим 2ю форму
    break;
  default:
    // какая-то непредусмотренная ерунда - т.е. либо взлом, либо ошибка.
    break;
}

Автор: NNaarreekk 20.4.2008, 11:32
Цитата(skyboy @  20.4.2008,  00:01 Найти цитируемый пост)
ты о чем? смена формы с перезагрузкой страницы - подозрительно по своей нерациональности, но зачем при этом "надо" задействовать js - загадка для меня.
просветишь? 

Я имел ввиду перезагрузку страницы сразу по нажатию на radio ;)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)