Промежуточная форма

Тема в разделе "Как сделать...", создана пользователем Sunday, 19 мар 2014.

  1. Sunday

    Sunday

    Регистр.:
    13 дек 2009
    Сообщения:
    732
    Симпатии:
    323
    Подскажите пожалуйста, как реализовать следующую схему.

    Сейчас на сайте есть страница с формой оплаты через робокассу. Цены за услуги заранее определены.
    Жмякнули на кнопку, пошел переход на страницу оплаты на стороне робокассы.

    Делаю более гибкую оплату. Т.е. пользователь сам вводит кол-во дней, которые он хочет оплатить. От кол-ва дней зависит и цена соответственно. Поэтому заранее знать невозможно, что мы отправим в робокассу.
    Мне нужно как-то на стороне сервера все это проверить на корректность, а потом уже отправить форму робокассе без участия пользователя.

    Вот как это сделать правильно не понимаю. Для того, чтобы проверить данные на сервере нужно отправить форму. А как потом отправить форму в робокассу? Делать какую-то промежуточную форму? Или как иначе можно это реализовать?

    Спасибо заранее за полезные ответы.

    UPD

    Всё решилось автоматической отправкой промежуточной формы:
    Код:
    echo '<script>document.form.submit();</script>';
     
    Последнее редактирование: 24 мар 2014
  2. PapaJoe

    PapaJoe

    Регистр.:
    4 авг 2008
    Сообщения:
    620
    Симпатии:
    311
    а вариант на JavaScript сделать автоматический подсчет цены от кол-ва дней прямо в форме оплаты? Т.е. ввел кол-во дней - скрипт тут же рассчитал и вывел в какое-либо поле сумму.
     
  3. Sunday

    Sunday

    Регистр.:
    13 дек 2009
    Сообщения:
    732
    Симпатии:
    323
    Это так и будет, но мне нужно защититься от хитрецов, которые через какой-нибудь файрбаг выставят максимальный срок за минимальную цену и отправят форму с этими данными.
     
  4. PapaJoe

    PapaJoe

    Регистр.:
    4 авг 2008
    Сообщения:
    620
    Симпатии:
    311
    Так и фиг с ними, срок вообще не надо отправлять, только цену(сумму) и услугу. При оплате, делим сумму на цену услуги и получаем срок.