Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: скрыть/показать форму
 
 автор: NoCash   (28.04.2010 в 16:24)   письмо автору
 
 

дорого вермени суток. такой досктоточно глупый вопрос, но как его побороть я даже незнаю как. Подскажите можно ли при нажатии на кнопку скрыть форму1 и отобразить форму 2 и наоборот, есстественно сделать нужно с помощью PHP а не JS.

  Ответить  
 
 автор: DJ Paltus   (28.04.2010 в 16:25)   письмо автору
 
   для: NoCash   (28.04.2010 в 16:24)
 

Конечно же, можно. Но это - только с перезагрузкой страницы, с отправкой формы.

  Ответить  
 
 автор: NoCash   (28.04.2010 в 16:27)   письмо автору
 
   для: DJ Paltus   (28.04.2010 в 16:25)
 

да да мне такое нужно) подскажите каким образом плиз

  Ответить  
 
 автор: DJ Paltus   (28.04.2010 в 16:38)   письмо автору
 
   для: NoCash   (28.04.2010 в 16:27)
 

напрмиер, вот так:
<?php
$form1 
"<form name='f1' action=".$_SERVER['PHP_SELF']." method=post style='border:2px solid red;float:left'>
            Форма1<br>
            <input name='t1' type='text'>
            <input type='submit' value='Send'>
            <input name='this' type=hidden value=2>
        </form>"
;

$form2 "<form name='f2' action=".$_SERVER['PHP_SELF']." method=post style='border:2px solid green;float:left'>
            Форма2<br>
            <input name='t2' type='text'>
            <input type='submit' value='Send'>
            <input name='this' type=hidden value=1>
        </form>"
;
if (isset(
$_POST['this']) && $_POST['this'] == 2) echo $form2; else echo $form1;
?>

  Ответить  
 
 автор: neadekvat   (28.04.2010 в 18:51)   письмо автору
 
   для: DJ Paltus   (28.04.2010 в 16:38)
 

А зачем под формы выделять доп.место в памяти (если только не используется, например, шаблонизатор)?
Можно через if () echo else echo =)

  Ответить  
 
 автор: DJ Paltus   (29.04.2010 в 10:17)   письмо автору
 
   для: neadekvat   (28.04.2010 в 18:51)
 

Можно по-всякому, но здесь имхо тот случай, когда наглядность важнее.

  Ответить  
 
 автор: Trianon   (29.04.2010 в 10:25)   письмо автору
 
   для: DJ Paltus   (29.04.2010 в 10:17)
 

Это не тот случай.
Это категорически не тот случай.
PHP ни с формами, ни со стилями не работает.
PHP работает со строками.

  Ответить  
 
 автор: DJ Paltus   (29.04.2010 в 10:34)   письмо автору
 
   для: Trianon   (29.04.2010 в 10:25)
 

Мы подходим к вопросу не так формально. Кнопка нажимается? Да. Форма скрывается-отображается? Да. Остальное - неважно, так как автора темы предложенный подход устроил.

  Ответить  
 
 автор: Trianon   (29.04.2010 в 11:37)   письмо автору
 
   для: DJ Paltus   (29.04.2010 в 10:34)
 

>Мы подходим к вопросу не так формально. Кнопка нажимается? Да. Форма скрывается-отображается? Да. Остальное - неважно, так как автора темы предложенный подход устроил.

Да. И в результате, какой-нибудь новайс, глянув на эту тему, будет всерьез считать, что php может скрывать и показывать формы. Большое человеческое спасибо :)

Для того чтобы кривой подход не устраивал автора, его не стоило предлагать.
Автор же - с такими подходами - еще с полгода не будет въезжать, где кончатется php и начинается клиентская сторона. А заодно и где вопросы задают по клиентской тематике.

  Ответить  
 
 автор: DJ Paltus   (29.04.2010 в 11:55)   письмо автору
 
   для: Trianon   (29.04.2010 в 11:37)
 

Ну ок. Больше не буду. Пусть люди заходят, по полтора дня ждут ответа, а потом получают презрительное "вам не в этот форум".

  Ответить  
 
 автор: neadekvat   (29.04.2010 в 13:00)   письмо автору
 
   для: DJ Paltus   (29.04.2010 в 11:55)
 

Напрасно вы считаете себя героем, ибо есть понятие "медвежьей услуги".

  Ответить  
 
 автор: DJ Paltus   (29.04.2010 в 13:09)   письмо автору
 
   для: neadekvat   (29.04.2010 в 13:00)
 

Тогда вы сами не упускайте случая меня опередить.

  Ответить  
 
 автор: neadekvat   (29.04.2010 в 13:16)   письмо автору
 
   для: DJ Paltus   (29.04.2010 в 13:09)
 

Наперегонки? Все смеетесь.

  Ответить  
 
 автор: DJ Paltus   (29.04.2010 в 13:21)   письмо автору
 
   для: neadekvat   (29.04.2010 в 13:16)
 

Напротив. Оказывая подобного рода медведские услуги, я не готов вполне отдавать себе отчет в том, что это так и есть, пока не придете вы с Трианоном и не ткнете носом.
Если пожарные не приезжают вовремя, добрые соседи сами тушат электрический щит водой.

  Ответить  
 
 автор: neadekvat   (29.04.2010 в 16:07)   письмо автору
 
   для: DJ Paltus   (29.04.2010 в 13:21)
 

Боюсь, не стоять мне пока что в одном ряду с Трианоном - меня также частенько приходится поправлять.
Однако же, если вы не уверены в том, что ваш вариант является хорошим, стоит об этом хотя бы сообщить автору, а не представлять, как единственный возможный вариант решения

  Ответить  
 
 автор: DJ Paltus   (29.04.2010 в 16:19)   письмо автору
 
   для: neadekvat   (29.04.2010 в 16:07)
 

Перед тем, как дать ответ автору темы, я а) предупредил, что для решения в поставленных условиях нужна отправка формы и перезагрузка страницы и б) использовал языковую конструкцию "например, вот так", что делает обвинение в навязывании нехорошего варианта (двух вариантов) безосновательным.

  Ответить  
 
 автор: DJ Paltus   (28.04.2010 в 16:42)   письмо автору
 
   для: NoCash   (28.04.2010 в 16:27)
 

А если речь идет именно о скрытии формы, то есть, чтобы в коде была, а не странице не отображалась, то жонглировать надо стилем:
<?php
$v1
="";
$v2="";
if (isset(
$_POST['this']) && $_POST['this'] == 2$v1 "display:none"; else $v2 "display:none";
$form1 "<form name='f1' action=".$_SERVER['PHP_SELF']." method=post style='border:2px solid red;float:left; $v1'>
            Форма1<br>
            <input name='t1' type='text'>
            <input type='submit' value='Send'>
            <input name='this' type=hidden value=2>
        </form>"
;
$form2 "<form name='f2' action=".$_SERVER['PHP_SELF']." method=post style='border:2px solid green;float:left; $v2'>
            Форма2<br>
            <input name='t2' type='text'>
            <input type='submit' value='Send'>
            <input name='this' type=hidden value=1>
        </form>"
;
echo 
$form1;
echo 
$form2;
?>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования