За последние 24 часа нас посетил 17071 программист и 1702 робота. Сейчас ищут 866 программистов ...

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

Тема в разделе "Сделайте за меня", создана пользователем svisch, 27 сен 2016.

  1. svisch

    svisch Новичок

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