За последние 24 часа нас посетили 66185 программистов и 10624 робота. Сейчас ищет 2281 программист ...

Странные ошибки

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

Метки:
  1. stalker4026

    stalker4026 Новичок

    С нами с:
    27 дек 2017
    Сообщения:
    2
    Симпатии:
    0
    Ну так что, начнем.
    Сам код мне дал друг для одной игры, я посмотрел, полазал и попытался исправить, сам я только начинающий и ничего не понимаю, как вы поняли ничего не получилось.

    Код:
    PHP:
    1. <?php
    2. header('Access-Control-Allow-Origin: *');
    3.  
    4. include_once 'conf.php';
    5.  
    6. $login_user = ($_POST['login_user']);
    7. $callfunc = ($_POST['chfunc']);
    8. $value = ($_POST['value']);
    9.  
    10. if (!$result) {
    11.     $message  = 'Неверный запрос: ' . mysql_error() . "</br>";
    12.     $message .= 'Запрос: ' . $query . "";
    13.     die($message);
    14. }
    15.  
    16. function returnmoney() {
    17. $query = ("SELECT `money` FROM `users` WHERE `login_user`=`".$login_user."`");
    18.  
    19. $result = mysql_query($query);
    20.  
    21. while ($row = mysql_fetch_assoc($result)) {
    22.     echo $row['money'];
    23. }
    24. }
    25.  
    26. function updatemoney() {
    27. if ($callfunc == '1') {
    28. returnmoney();
    29. } elseif ($callfunc == '2') {
    30. $query = ("UPDATE `users` SET `money`=`money` - `".$value."`  WHERE `login_user`=`".$login_user."`");
    31.  
    32. $result = mysql_query($query);
    33.  
    34. returnmoney();
    35. } elseif ($callfunc == '3') {
    36. $query = ("UPDATE `users` SET `money`=`money` - `".$value."`  WHERE `login_user`=`".$login_user."`");
    37.  
    38. $result = mysql_query($query);
    39.  
    40. returnmoney();
    41. }
    42. }
    43. updatemoney();
    44. ?>

    "$login_user = ($_POST['login_user']);
    $callfunc = ($_POST['chfunc']);
    $value = ($_POST['value']);" - Это я посылаю из игры
    Странное то, что 1 ошибки нету но есть все остальные.

    Ошибки:

    Код (Text):
    1. Notice: Undefined index: login_user in /storage/ssd4/165/4016165/public_html/money2.php on line 6
    2.  
    3. Notice: Undefined index: chfunc in /storage/ssd4/165/4016165/public_html/money2.php on line 7
    4.  
    5. Notice: Undefined index: value in /storage/ssd4/165/4016165/public_html/money2.php on line 8
    6.  
    7. Notice: Undefined variable: result in /storage/ssd4/165/4016165/public_html/money2.php on line 10
    8.  
    9. Notice: Undefined variable: query in /storage/ssd4/165/4016165/public_html/money2.php on line 12
    10. Неверный запрос:
    11. Запрос:
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.841
    Симпатии:
    1.338
    Адрес:
    Лень
    Код дерьмо
     
    mkramer нравится это.
  3. Avenax

    Avenax Активный пользователь

    С нами с:
    27 июн 2016
    Сообщения:
    7
    Симпатии:
    0
    ничего странного, у тебя не определены эти пременные
    а так, код дерьмо)
     
  4. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    Дерьмовый код
     
  5. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.129
    Симпатии:
    1.225
    Адрес:
    там-сям
    @stalker4026 Если очень упрощенно, то бывают два вида обращения к скрипту: get и post. Get — это когда ты просто открыл страничку в браузере, а post это когда форму отправил. Так вот, если пытаться прочитать значения из массива $_POST во время обработки get-запроса, то будут ошибки как у тебя. Потому что таких переменных нет!

    Рекомендую ознакомиться: http://phpfaq.ru/php5.ru/study/chapter4.html
    --- Добавлено ---
    PHP:
    1. if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    2.  
    3. // ... тут обрабатываем отправленную форму ...
    4.  
    5. }
    --- Добавлено ---
    и еще вот так делают:

    PHP:
    1. $login_user = isset($_POST['login_user']) ? $_POST['login_user'] : '';
     
  6. stalker4026

    stalker4026 Новичок

    С нами с:
    27 дек 2017
    Сообщения:
    2
    Симпатии:
    0
    Я понял, код делал не я и так как я мало что понимаю в php не мог разобраться, спасибо.
     
  7. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    PHP:
    1. $login_user = $_POST['login_user'] ?? '';
    Бэм!!1 PHP7 рулит!!1
     
    glorsh66, Fell-x27 и Sergey_Tsarev нравится это.
  8. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    filter_input_array с true в третьем параметре - и никаких проблем. Только сравнивать аккуратненько :)
     
  9. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.012
    Симпатии:
    1.679
    Адрес:
    :сердА
    С фильтр инпутом порой капец как лень городить код ради пары значений. Пачки обрабатывать да - норм.