2 / 2 / 2
Регистрация: 26.10.2015
Сообщений: 83
1

Отправка формы анонимно

27.09.2016, 17:06. Показов 835. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветсвую. Помогите пожалуйста решить проблему. В пхп не силен, потому и обращаюсь.
На сайте есть форма которая собирает данные для оплаты в агрегаторе. В ней сумма, имя фамилия, описание платежа и галочка для отправки анонимно. Если не вводить имя то на данном этапе при отправке формы просит заполнить фамилию. Надо сделать так, чтобы когда ставишь галочку анонимно, вместо занчения поля имя подставлялось значение "анонмино" через условие я так понимаю. Буду очень признателен за помощь.
Вот скрипт с формой

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
function robokassa_prefillform($form, &$form_state) {
  $form['amount'] = array(
    '#type' => 'textfield',
    '#title' => t('Сумма'),
    '#default_value' => '',
    '#size' => 10,
    '#maxlength' => 12,
    '#field_suffix' => variable_get('robokassa_currency_suffix', ' руб.'),
    '#required' => TRUE
  );
  
  $form['payname'] = array (
    '#type' => 'textfield',
    '#title' => t('Имя Фамилия'),
    '#default_value' => '',
    '#required' => TRUE
  );
  
  $form['memo'] = array(
    '#type' => 'textarea',
    '#title' => t('Memo'),
    '#default_value' => t('Пожертвование на благотворительную и уставную деятельность фонда.'),
    '#description' => t("Payment description."),
    '#required' => TRUE
  );
  
  $form['anonim'] = array (
    '#type' => 'checkbox',
    '#title' => t('Отправить анонимно')
  );
 
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Cerate payment'),
  );
  return $form;
}
 
function robokassa_prefillform_submit(&$form, $form_state) {
  $payment = _robokassa_createpayment(array(
    'amount' => $form_state['values']['amount'],
    'memo' => $form_state['values']['memo'],
    'payname' => $form_state['values']['payname'],
  ));
 
  if (is_array($payment) && $payment['pid'] > 0) {
    drupal_set_message(t("Please confirm payment details"));
    drupal_goto('robokassa/payment/' . $payment['pid']);
  }
}
 
function robokassa_success() {
  return theme('robokassa_success');
}
 
function robokassa_fail() {
  return theme('robokassa_fail');
}
 
function robokassa_status() {
  global $base_path;
  drupal_add_http_header('Content-type', 'text/html; charset=iso-8859-1');
 
 
  // check url
  $url = trim($_SERVER['REQUEST_URI'], '/');
  $alias = trim($base_path . drupal_get_path_alias('robokassa/status'), '/');
  if ($url != $alias) {
    watchdog('Robokassa', 'Wrong Result URL accessed "%url"', array("%url" => $url), WATCHDOG_WARNING);
    die("bad sign");
  }
  $created = time();
  $out_summ = $_REQUEST["OutSum"];
  $inv_id = $_REQUEST["InvId"];
  $crc = strtoupper($_REQUEST["SignatureValue"]);
  $my_crc = strtoupper(md5("$out_summ:$inv_id:" . variable_get('robokassa_secretkey2', '')));
  if ($my_crc != $crc || !preg_match("/^[0-9]{1,10}$/", $_REQUEST["InvId"])) {
    watchdog('Robokassa', 'Bad sign, vars "%vars"', array("%vars" => print_r($_REQUEST,TRUE)), WATCHDOG_ALERT);
    die("bad sign\n");
  }
   $payment = _robokassa_pid_load($_REQUEST["InvId"]);
  if (!is_array($payment)) {
    watchdog('Robokassa', 'Bad invId, vars "%vars"', array("%vars" => print_r($_REQUEST,TRUE)), WATCHDOG_ALERT);
    die("bad InvId\n");
  }
   // check if payment already enrolled
  if ($payment['enrolled'] > 0) {
    watchdog('Robokassa', 'Order InvID %invid already enrolled', array("%invid" => $_REQUEST['InvId']), WATCHDOG_WARNING);
    die("bad sign\n");
  }
 
  if ($_REQUEST["OutSum"] == round($payment['amount'], 2)) {
    _robokassa_enrollpayment($payment['pid'], $created);
    die("OK$inv_id\n");
  }
  else { // you can also save invalid payments for debug purposes
    watchdog('Robokassa', "Can't process order InvID %invid, vars '%vars'", array(
      "%invid" => $_REQUEST['InvId'],
      '%vars' => print_r($_REQUEST,TRUE)
    ), WATCHDOG_ERROR);
    die();
  }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.09.2016, 17:06
Ответы с готовыми решениями:

Проверка формы не работает, если отправка формы была отменена
Здравствуйте, есть форма с 7ю радиокнопками и кнопкой submit, которая отправляет ее на сервер. Я...

Отправка формы методом GET, используя атрибут action формы
Язык HTML. Задача состоит в том чтобы при выставленном методе отправки данных с формы "post"...

Обработка формы сайта на Go. Отправка данных формы на email
Здравствуйте, я новичок в Go. Как реализовать отправку данных на email. Есть сайт,но хочу...

Отправка формы на email и данных с формы в БД
В приведенном ниже php-файле производится занесение данных с формы в базу,как изменить код для того...

2
Фрилансер
Эксперт JSЭксперт HTML/CSSЭксперт PHP
1846 / 1342 / 599
Регистрация: 12.01.2011
Сообщений: 5,432
27.09.2016, 20:51 2
Это можно сделать с помощью js.
0
2 / 2 / 2
Регистрация: 26.10.2015
Сообщений: 83
27.09.2016, 21:39  [ТС] 3
А как? подскажите пожалуйста хотябы алгоритм действий!
0
27.09.2016, 21:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.09.2016, 21:39
Помогаю со студенческими работами здесь

Анонимно спаять устройство
В контакте один человек просит сделать вот такое устройство кто нибудь сталкивался с данной...

Как анонимно отправить письмо?
Привет Форумчане и Админы, может кто-то знает как реализовать анонимную отправку письма с...

Как анонимно использовать биткоины?
Добрый день. Не сочтите за параноика, или покупателя оружия, но хочется максимально анонимно...

Как анонимно общаться по агенту и ICQ?
Здравствуйте. Скажите как анонимно можно общаться по агенту или аське? Тоесть чтобы айпишник...

отправка формы
При первом открытии страници до отправки формы масив post уже заполняеться переменными из формы.Как...

Отправка формы
Добрый вечер.Подскажите,как можно сделать следующую задачу.Есть форма авторизации,отправляю на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru