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

HTML+CSS+JavaScript

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

 

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

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

тема: Заблокировать кнопочку
 
 автор: ReZiStOr   (18.08.2007 в 13:04)   письмо автору
 
 

Здравствуйте все уважаемые кодеры. У меня возникла вот такая проблема :
Есть простая хтмл станчка на ней большущая форма ввода инфы. Когда юзверь это все заполняет и нажимае кнопочку передать оно оправляеться в php. Но тут проблема юзверь может в броузере нажать кнопочку назад и отправить эти данные ещё рас чего делать не стоит у меня на php фильтр то стоит но как сделать так чтобы при возврате юзверя назад та кнопочка передать была но нажать на неё невозможно (как в винде типа неактивная кнопка)

   
 
 автор: sim5   (18.08.2007 в 14:26)   письмо автору
 
   для: ReZiStOr   (18.08.2007 в 13:04)
 

Эту проблему надо решать не на стороне клиента, а на сервере. Перенаправляйте клиента на другую страницу, после приема данных:

header("Location: name.php");

   
 
 автор: ReZiStOr   (18.08.2007 в 16:30)   письмо автору
 
   для: sim5   (18.08.2007 в 14:26)
 

ну вообще как блок кнопки сделать чтобы она была но нажать на неё е возможно бы ло бы есть какое то свойство ?? вот как сделано например на ucoz.ru при вооде ошибочного имени или пароля назад вернуться и исправить можно но передать эти данные нет потому что кнопка заблокирована подскажите просто как кнопку сделать не активной остальное я сам постараюсь решить

   
 
 автор: sim5   (18.08.2007 в 17:07)   письмо автору
 
   для: ReZiStOr   (18.08.2007 в 16:30)
 

Ну если вы ссылаетесь на ucoz.ru, то видимо читали, что это бесплатная CMS - скачивайте и смотрите как у них сделано, что еще проще может быть.

   
 
 автор: ReZiStOr   (18.08.2007 в 18:58)   письмо автору
 
   для: sim5   (18.08.2007 в 17:07)
 

причем тут то на что я ссылаюсь неужели тяжело написать свойство кнопки чтобы её заблокировать ?

   
 
 автор: sim5   (18.08.2007 в 19:13)   письмо автору
 
   для: ReZiStOr   (18.08.2007 в 18:58)
 

И вы уверены что это вас защитит? Нужен работающий код, соизвольте взять, либо выложите свой и спросите в чем у вас трудности. А свойство кнопки, которое вам так нужно, не сложно и HTML документации посмотреть - disabled.

   
 
 автор: ReZiStOr   (18.08.2007 в 19:21)   письмо автору
 
   для: sim5   (18.08.2007 в 19:13)
 

спасибо большое это все что мне надо !

   
 
 автор: Chronus   (18.08.2007 в 19:24)   письмо автору
 
   для: ReZiStOr   (18.08.2007 в 13:04)
 

Для того, чтобы гарантировано юзверь не смог отправить форму ещё раз, при нажатии в браузере back, можно сделать так:
1) удалить history браузера ;) - тогда он не нажмёт back
2) отправлять данные из формы средствами AJAX

Блокировка кнопки необходима на клиенте после клика только для того, чтобы юзверь не кликнул быстро на капу 2 раза и не отправил на серв несколько форм. Но такие вещь обычно ещё и на серве контролируются. Без этого нельзя.

   
 
 автор: ReZiStOr   (18.08.2007 в 19:59)   письмо автору
 
   для: Chronus   (18.08.2007 в 19:24)
 

Да вы знаете вы правы просто это можно написать сразу было а нероспрягать про какие то стороны клиента и сервера протсо если человек не ориентируеться в данном вопросе (не будем показывать пальцами) то простите за выражение не фиг отписывать спасибо всем за ответы

   
 
 автор: sim5   (19.08.2007 в 02:11)   письмо автору
 
   для: ReZiStOr   (18.08.2007 в 19:59)
 

Вам изначально надо было подумать - нужна ли вам эта "волшебная кнопка". Хотите действующий скрипт, пожалуйста, скачивайте хотя бы понравившийся вам (CMS), смотрите. За вас ведь никто писать ничего не будет. Вам это не подходит. Вы начинающий, тогда и с AJAX у вас не все гладко получиться, само по себе это волшебное слово "AJAX" вам ничего не даст. Думать надо над решением задачи, и выбирать оптимальный для вас путь.
Я вам говорил о самом простом способе - перенаправление пользователя. У вас для принятия данных от пользователя может быть несколько страниц - последовательный вывод форм, а может быть и одна страница, но выводить она будет форму в зависимости от условий - правильно или нет ввел пользователь (на определенном этапе) данные. И если нет, то перенаправлять его на другую страницу, или в одно и тоже "условие" одной страницы, до тех пор пока он не введет данные правильно, и делается это просто:


<?php
header
("Location: add.php?log=$log&yes=1"); //перенаправление на эту же страницу с парметрами,
                                            //по которым определить, что вывести для пользователя в новом шаге

header("Location: add2.php"); //переход на другую страницу, если верно
?>


Вот так, и никакого AJAX не потребуется.

   
Rambler's Top100
вверх

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