Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему не работает кнопка? 
:(
    Опции темы
mr.Anderson
Дата 25.2.2005, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 1
Всего: 128



Есть код:
Код
<?php
#Functions.
function KOREN($x)
{
if($x<0) exit("Число меньше нуля!");
else sqrt($x);
echo"$x";
}
if(@$but) KOREN($x);
?>
<form>
<input type=text name=x value="Введите число!">
<input type=button value="Go!" name=but>
</form>

Однако, при нажатии на кнопку почему-то ничего не происходит! Смысл таков: при нажатии на кнопку должна сработать функция, которая (если введенное в текстовом поле значение меньше нуля) выдаст сообщение об ошибке и прекратит работу, а, если значение больше или равно нулю, то извлечет кв. корень и напишет его значение. Почему не работает? smile


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Mal Hack
Дата 25.2.2005, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



type Submit должен быть, и в form много чего пропрустил

PM ICQ   Вверх
Kefir
Дата 25.2.2005, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 13
Всего: 87



Код
<?php
#Functions.
function KOREN($x)
{
if($x<0) exit("Число меньше нуля!");
else echo sqrt($x);
}
if(!empty($_GET['but'])) KOREN($_GET['x']);
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
<input type="text" name="x" value="Введите число!">
<input type="submit" value="Go!" name="but">
</form>


должно работать. там у тебя ещё было
else sqrt($x);
echo"$x";
это не изменит содержимое $x, т.к. прототип там такой - float sqrt(float foo).
PM MAIL WWW Skype   Вверх
mr.Anderson
Дата 25.2.2005, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 1
Всего: 128



Kefir спасибо, проверю на работоспособность...
Mal Hack, а что, при использовании кнопки в if-else обязательно должен быть тип submit? А для чего же тогда button?
И еще: работает ли onclick в создании кнопки, например, так:
<input type=submit name=123 value="Go!" onclick=".......">
и, если да, то как? Я пробовал туда (после onclick) подставлять функцию, предварительно созданную, но ничего не происходило... Приведите пример, пожалуйста.

Это сообщение отредактировал(а) sim7 - 25.2.2005, 22:22


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Mal Hack
Дата 25.2.2005, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(sim7 @ 25.2.2005, 22:20)
и, если да, то как?

Вот OnClick как раз на button надо вешать.

Цитата(sim7 @ 25.2.2005, 22:20)
al Hack, а что, при использовании кнопки в if-else обязательно должен быть тип submit? А для чего же тогда button?

button не отсылает данные иформы, следовательно в PHP ты ее не увидишь.
PM ICQ   Вверх
mr.Anderson
Дата 26.2.2005, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 1
Всего: 128



Цитата
button не отсылает данные иформы, следовательно в PHP ты ее не увидишь.

Это как понимать? Т.е. на странице кнопки не видно, что ли? Тогда неправда - я пробовал создавать кнопку - на странице она появляется...
А можно в onclick подсунуть функцию, например, mail() с заданием всех параметров? Например, так:
Код
<?php
$message="Test_text";
?>
<form action="$SCRIPT_NAME" method=post>
<input type=button value="Go" onclick=mail("[email protected]",$message)>
</form>


Это сообщение отредактировал(а) sim7 - 26.2.2005, 12:18


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
korob2001
Дата 26.2.2005, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 1
Всего: 61



Цитата

Это как понимать? Т.е. на странице кнопки не видно, что ли? Тогда неправда - я пробовал создавать кнопку - на странице она появляется...

;)))) На странице она появляется, но она не способна отправить данные на сервер без дополнительного скриптового кода например на JavaScript или VBScript. Если хочешь отправить данные не исполузуя эти языки, то воспользуйся SUBMIT. Это такая же кнопка, только она предназначена для передачи данных на сервер. В целом она будет выглядеть так:
<input type="submit" value="Отправить данные" name="send">
Цитата

А можно в onclick подсунуть функцию, например, mail() с заданием всех параметров?

Можно. Тогда попробуй и отправить данные на сервер с помощью JavaScript. Хотя всё же лучше заюзай SUBMIT, потому как не все браузеры поддерживают JavaScript.

Это сообщение отредактировал(а) korob2001 - 26.2.2005, 12:53


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
mr.Anderson
Дата 26.2.2005, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 1
Всего: 128



О! Эврика! Все получилось намного проще:
Код
<?php
#Functions.
function KOREN($x)
{
global $x,$but;
if($x<0) exit("×èñëî ìåíüøå íóëÿ!");
else echo "Êâàäðàòíûé êîðåíü èç $x ðàâåí ".sqrt($x);
}
if(@$but) KOREN($x);
?>
<form>
<input type=text name=x value="Ââåäèòå ÷èñëî!">
<input type=submit value="Go!" name=but>
</form>

И все работает! Кайф! Теперь я понял, в чем было дело.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
PARROT
Дата 26.2.2005, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



В таком случае так тоже будет работать и без использования Глобальных переменных:
<?php
if($but)
{
if(empty($x))
{
$err[x]="Введите число";
}
}
if(empty($err))
{
$a=fopen("wp.txt","a");
fwrite($a,"$x\n");
fclose($a);
}
?>
<form>
<input type=text name=x value="Ââåäèòå ÷èñëî!"><?echo $err[x]?>
<input type=submit value="Go!" name=but>
</form>


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
BIG BROTHER
Дата 26.2.2005, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 9.12.2004
Где: Россия, Москва

Репутация: 2
Всего: 4



Цитата(korob2001 @ 26.2.2005, 12:45)
Можно. Тогда попробуй и отправить данные на сервер с помощью JavaScript. Хотя всё же лучше заюзай SUBMIT, потому как не все браузеры поддерживают JavaScript.

можно повесить только функцию JS, но никак не PHP
--------------------
Mess with the best, die like the rest
PM MAIL ICQ   Вверх
Kefir
Дата 27.2.2005, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 13
Всего: 87



PARROT, гм... а как насчёт register globals off?
Добавлено @ 00:27
register globals - ЧИТАТЬ всем кто не знает что это такое
PM MAIL WWW Skype   Вверх
PARROT
Дата 27.2.2005, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Цитата(Kefir @ 27.2.2005, 00:24)
PARROT, гм... а как насчёт register globals off?
Добавлено @ 00:27
register globals - ЧИТАТЬ всем кто не знает что это такое

Я привела пример, сама им давно не пользуюсь, так для общего развития.
Просто если так изначально усложнять, то можно запутать самого гениального, начинающего программиста и отбить полностью желание писать (со мной как раз такое было!).
Правда гениальность, само слово не про меня.
Просто идти надо по ступенькам, мы же не сразу рождаемся взрослыми и умными?
Как раз про off я в курсе.


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
korob2001
Дата 27.2.2005, 01:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 1
Всего: 61



Цитата

можно повесить только функцию JS, но никак не PHP

А я помоему это и имел ввиду. ;)))))
JavaScript = JS
PHP != JS


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0848 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.