За последние 24 часа нас посетили 57967 программистов и 1845 роботов. Сейчас ищут 1128 программистов ...

WebMoney

Тема в разделе "PHP для новичков", создана пользователем Паша92, 4 апр 2017.

  1. Паша92

    Паша92 Новичок

    С нами с:
    30 июн 2016
    Сообщения:
    30
    Симпатии:
    0
    Файл пополнения

    PHP:
    1. include '../config/config.php';
    2.    
    3.     if (! isset ($_SESSION['user']))
    4.     {
    5.         header("Location: index2.php");
    6.         exit;
    7.     }
    8. $identity = $_SESSION['user']['identity'] ;
    9. //Проверяем одинаковых пользователей
    10. $result = $mysqli->Query("SELECT * FROM user WHERE identity = '$identity'");
    11. $data = mysqli_fetch_array($result);
    12. $id = $data ['id'];
    13. echo $id;
    14. ?>
    15. <form method="POST" action="https://merchant.webmoney.ru/lmi/payment.asp" accept-charset="windows-1251">  
    16.   <input type="text" name="LMI_PAYMENT_AMOUNT" placeholder="Сумма">
    17.   <input type="hidden" name="LMI_PAYMENT_DESC" value="платеж по счету">
    18.   <input type="hidden" name="LMI_PAYMENT_NO" value="1234">
    19.   <input type="hidden" name="LMI_PAYEE_PURSE" value="НОМЕР КОШЕЛЬКА>
    20.  <input type="hidden" name="id" value="'.$id.'">
    21.  <input type="submit" >
    22. </form>
    Файл обработчик

    PHP:
    1. $key = hash('sha256', $_POST['LMI_PAYEE_PURSE'].
    2. $_POST['LMI_PAYMENT_AMOUNT'].
    3. $_POST['LMI_PAYMENT_NO'].
    4. $_POST['LMI_MODE'].
    5. $_POST['LMI_SYS_INVS_NO'].
    6. $_POST['LMI_SYS_TRANS_NO'].
    7. $_POST['LMI_SYS_TRANS_DATE'].
    8. 'КЛЮЧ'.
    9. $_POST['LMI_PAYER_PURSE'].
    10. $_POST['LMI_PAYER_WM']);
    11. if ( strtoupper($key) != $_POST['LMI_HASH'])
    12.     exit('ошибка');
    13. $id = (int)$_POST['id'];
    14. $mysqli->Query("UPDATE user SET money = money + '$_POST['LMI_PAYER_AMOUNT']'  WHERE id = '$id'");

    Проблема в том, что не записывается пополнение в базу данных. в чем может быть проблема?
     
  2. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    тут капец сколько проблем (
     
  3. Паша92

    Паша92 Новичок

    С нами с:
    30 июн 2016
    Сообщения:
    30
    Симпатии:
    0
    можно конкретней?)
     
  4. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    первая
    --- Добавлено ---
    За пределам тега <?php понимаешь же да что ты отдаешь в этом поле?
    --- Добавлено ---
    2. ты форму самбитишь на сайт вебмани, с какого хера ты ждешь что то от обработчика на своем сайте то?
    --- Добавлено ---
    3 бесит блин...люди вообще не хотят думать, то ли лень, то ли от отсутствия мозгов, даже не знаю, но второе хуже (((
     
  5. Паша92

    Паша92 Новичок

    С нами с:
    30 июн 2016
    Сообщения:
    30
    Симпатии:
    0

    Тема создана в разделе "для новичков" так что не ругайся))

    Я прошу помощи, ткни конкретно носом, что и на что поменять. я запомню и больше не будет таких вопросов)
     
  6. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    Начни с первого пункта
     
  7. Паша92

    Паша92 Новичок

    С нами с:
    30 июн 2016
    Сообщения:
    30
    Симпатии:
    0

    можно конкретней, пожалуйста, что и где не так.
    раз спрашиваю, значит не понимаю)

    отправляет id пользователя, что тут не так?
     
  8. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    ну ты же в браузере открываешь эту свою страничку с формой?

    Вот открываешь консоль браузера и смотришь что и тебя в этом инпуте
    <input type="hidden" name="id" value="'.$id.'">
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    инъекция плюс синтаксис кривой
     
  10. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    Игорь, ну о чем ты ((( человек "НОМЕР КОШЕЛЬКА" строкой к деньгам прибавляет (((( ты ему ту про инъекции )))
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    когда он будет прибавлять правильно где надо и у него заработает - он обрадуется и убежит. И уже будет поздно говорить об инъекциях :D
     
  12. Паша92

    Паша92 Новичок

    С нами с:
    30 июн 2016
    Сообщения:
    30
    Симпатии:
    0
    ну где мне и что поменять?
    не мучайте, со временем разберусь во всем. только начал ведь
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  14. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    error_reporting ( E_ALL );
    в начале скрипта и весь космос познаешь
     
  15. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @Паша92 всё понятно?
    PHP:
    1. <?php
    2. include '../config/config.php';
    3.  
    4. if (!empty($_SESSION['user']['identity'])) { // Есть ли identity в сессии и он не пустой
    5.     $result = $mysqli->Query("SELECT * FROM user WHERE identity = '".mysqli_real_escape_string($identity)."' LIMIT 1"); // Получаем запись, только 1 строку
    6.     if (mysqli_num_rows($result) == 1) { // Проверяем если в базе что-то нашлось
    7.         $data = mysqli_fetch_assoc($result); // Получаем одну строку
    8. ?>
    9.     <form method="POST" action="https://merchant.webmoney.ru/lmi/payment.asp" accept-charset="windows-1251">
    10.         <input type="text" name="LMI_PAYMENT_AMOUNT" placeholder="Сумма">
    11.         <input type="hidden" name="LMI_PAYMENT_DESC" value="платеж по счету">
    12.         <input type="hidden" name="LMI_PAYMENT_NO" value="1234">
    13.         <input type="hidden" name="LMI_PAYEE_PURSE" value="НОМЕР КОШЕЛЬКА">
    14.         <input type="hidden" name="id" value="<?=htmlspecialchars($data['id'])?>"> <!-- https://secure.php.net/manual/ru/function.echo.php I have ... foo. -->
    15.         <input type="submit" >
    16.     </form>
    17. <?php
    18.     } else {
    19.         ?>
    20.         identity не найден
    21.         <?php
    22.     }
    23.  
    24. } else {
    25.     header("Location: index2.php");
    26.     exit;
    27. }