Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2010, 00:42   #1
Mira-girl
Пользователь
 
Регистрация: 08.11.2009
Сообщений: 16
По умолчанию Не работает скрипт

Почему-то не срабатывает код, и не могу разобраться почему. Помогите, пожалуйста.
Суть: при нажатии кнопки Send отображается одна форма (дополнительно выводится строка текста), а при нажатии Reset - другая. Но у меня не срабатывает условие и вторая форма не отображается.

if (@($undo)):
unset($do);
endif;
if (!@($do)):
?>
<form action="lab2.php">
<table>
<tr><td>Введіть своє ім'я :
<td><input type=text name="name">
<tr><td>Введіть свій E-MAIL :
<td><input type=text name="email">
<tr><td><td align=center><input type=submit name="undo" value="Reset"><input type=submit name="do" value="Send">
</table>
</form>
<?
else:
?>
<form action="lab2.php">
<table>
<tr><td>Введіть своє ім'я :
<td><input type=text name="name">
<tr>
<td>Введіть свій E-MAIL :
<td><input type=text name="email">
<tr><td>
<td align=center><input type=submit name="undo" value="Reset"><input type=submit name="do" value="Send">
</table>
</form>
<hr size=2>
<? printf("Ваше ім'я %s, E-mail:<a href=\"mailto:%s\">%s</a>",$name,$email,$email); ?>
<hr size=2>
<? endif; ?>
Mira-girl вне форума Ответить с цитированием
Старый 18.09.2010, 11:53   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Mira-girl Посмотреть сообщение
Но у меня не срабатывает условие и вторая форма не отображается.
Про register_globals и суперглобальные массивы слышали когда-нибудь?

PS: <tr> & <td> имеют закрывающие тэги, а вместо подавления ошибок(@) правильнее использовать isset() или empty()
Andkorol вне форума Ответить с цитированием
Старый 18.09.2010, 21:42   #3
Mira-girl
Пользователь
 
Регистрация: 08.11.2009
Сообщений: 16
По умолчанию

Закрыла теги и использовала isset и empty.
А что насчет глобальных переменных? Как конкретно мне их нужно использовать в данном случае?
Я - новичок, а код не мой. Помогите исправить
Mira-girl вне форума Ответить с цитированием
Старый 18.09.2010, 21:49   #4
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Это и есть весь код? По-моему, это только кусок. В любом случае, можно попробовать заменить переменные на переменные такого вида $_POST['do'] и т.п.
Думаю, лучше нормально попытаться по книге изучить язык, а не делать все методом тыка
Также можно добавить к атрибутам формы method="POST"
motorway вне форума Ответить с цитированием
Старый 18.09.2010, 21:53   #5
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Mira-girl Посмотреть сообщение
А что насчет глобальных переменных? Как конкретно мне их нужно использовать в данном случае?
По ссылке всё подробно расписано - как раз ваш случай.
Вам лень читать?
Andkorol вне форума Ответить с цитированием
Старый 18.09.2010, 22:02   #6
Mira-girl
Пользователь
 
Регистрация: 08.11.2009
Сообщений: 16
По умолчанию

Спасибо большое! Добавила method="POST" и поменяла переменные - сработало.
Сорри, но там было не очень понятно написано.
Еще раз спасибо за помощь.
Mira-girl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите, почему не работает скрипт void656 HTML и CSS 5 12.01.2010 15:16
Скрипт не работает в Опере SuBwooFer JavaScript, Ajax 4 02.09.2009 14:49
Не работает скрипт maximYCH PHP 17 27.08.2008 19:00
Скрипт неправильно работает aleksa76 JavaScript, Ajax 4 21.05.2008 17:47