X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Помогите с обработкой выбора в форме
basilio
basilio
Topic Starter сообщение 28.3.2013, 19:10; Ответить: basilio
Сообщение #1


Добрый день! Я в PHP не силен, поэтому прошу помощи у вас. Есть вот такой код:
<li id="li_98" >
  <label class="description" for="element_98">Каким образом Вы хотите оплатить?* </label>
  <div>
  <select name="element_98" class="element select large" id="element_98">
<option value="1" selected="selected" >Официально через банк</option>
<option value="2" >Купить купон у нашей команды</option>
  </select>
  </div>
  </li>

Что нужно прописать в PHP, чтобы я смог получать данные выбора при отправке?
На сколько я помню, надо добавить эти строчки:
$oplata = $_POST['element_98'];
$message = 'ОПЛАТА:'.$oplata.'<br>';

Только вот как обработать сам выбор - не знаю.
Заранее большое спасибо!
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fedornabilkin
fedornabilkin
сообщение 4.4.2013, 9:59; Ответить: fedornabilkin
Сообщение #2


Все правильно понимаешь. Только к твоему селекту надо добавить тег формы, если его нету на странице вообще (надеюсь есть).
А полученные данные обрабатывай сразу же:
$oplata = intval($_POST['element_98']);
if($oplata <= 0)
    exit("No type");
else
    $message = 'ОПЛАТА:'.$oplata.'<br>';

А дальше все зависит от того, что ты будешь делать с полученными данными.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
isvetlichniy
isvetlichniy
сообщение 4.4.2013, 10:06; Ответить: isvetlichniy
Сообщение #3


exit("No type");


думай, что пишешь
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fedornabilkin
fedornabilkin
сообщение 4.4.2013, 10:20; Ответить: fedornabilkin
Сообщение #4


И что тут не так?
ТС подразумевает передачу типов оплаты, видимо ему проще эти типы пронумеровать.
Соответственно приводим к integer полученные данные и проверяем на ноль и отрицательное число.
Поэтому и завершаем работу скрипта, если число меньше или равно нулю
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
isvetlichniy
isvetlichniy
сообщение 4.4.2013, 10:37; Ответить: isvetlichniy
Сообщение #5


Поэтому и завершаем работу скрипта


а как потом продолжить работу скрипта, например снова показать форму чтобы юзер ввел правильные данные?
Кароче , функция exit здесь неуместна. Ее целесообразно использовать, когда дальнейшая работа скрипта невозможна по каким либо причинам, например не удалось подключиться к базе данных или произошла попытка несанкционированного доступа

отрицательное число

тоже интересно, как можно получить отрицательное число при выборе из двух вариантов?

<option value="1" selected="selected" >Официально через банк</option>
<option value="2" >Купить купон у нашей команды</option>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fedornabilkin
fedornabilkin
сообщение 4.4.2013, 10:44; Ответить: fedornabilkin
Сообщение #6


[member=isvetlichniy], я с тобой полностью согласен, но при разработке необходимо учитывать все возможные варианты, все невозможные и несколько невероятных.
Возможно с exit я переборщил, но ведь у ТС сейчас стадия тестирования, поэтому я так написал.
Как получить отрицательное число? Открываешь файрбагом страницу, меняешь положительное на отрицательное, отправляешь форму.
А вот тут как раз таки exit спасает. Логика проста: если приходит в форму что-то лишнее, то лучше остановить скрипт, потому что это делает не рядовой пользователь, а кто-то явно с нехорошими намерениями.
Возможно после этого подключаются еще файлы и выполняется какой-то другой код.

Всегда помним о том, что веб-формам мы не доверяем, а тут еще идет разговор о способах оплаты.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
isvetlichniy
isvetlichniy
сообщение 4.4.2013, 10:57; Ответить: isvetlichniy
Сообщение #7


Логика проста: если приходит в форму что-то лишнее, то лучше остановить скрипт, потому что это делает не рядовой пользователь, а кто-то явно с нехорошими намерениями.

ну ладно, это чисто теоретически, а так пишем валидатор адекватный если уж все по уму делать

а с учетом того, что данные отправляются на мыло (я это точно знаю, помогал автору), то бояться вообще не о чем

тему можно закрывать

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Помогите вспомнить рекламного бота Телеграм для обмена рекламой
0 Mixatraider 729 21.2.2024, 23:42
автор: Mixatraider
Открытая тема (нет новых ответов) Помогите рещить проблему с монитором.
Почему низкое разрешение при подключении монитора через displayport?
0 Levels 1702 11.12.2020, 0:48
автор: Levels
Открытая тема (нет новых ответов) Помогите кто нибудь получить партнерку Росбанк!
7 heisenberg_mw 2342 7.8.2020, 9:28
автор: heisenberg_mw
Открытая тема (нет новых ответов) Помогите найти тему пожалуйста
7 virtas 12517 24.7.2020, 17:02
автор: -JamesSmips-
Открытая тема (нет новых ответов) Помогите с поиском доноров
3 tehno_music 3357 4.11.2019, 17:15
автор: goblin78


 



RSS Текстовая версия Сейчас: 24.4.2024, 8:37
Дизайн