За последние 24 часа нас посетили 105729 программистов и 6494 робота. Сейчас ищут 1685 программистов ...

Как исправить

Тема в разделе "PHP для новичков", создана пользователем Baktybek, 15 сен 2018.

  1. Baktybek

    Baktybek Гость

    С нами с:
    15 сен 2018
    Сообщения:
    1
    Симпатии:
    0
    Помогите как исправить
    Notice: Undefined variable: skyrow in /storage/emulated/0/www/inc/lib.php on line 61


    PHP:
    1. <?php
    2. //вход, если запомнили
    3. if (isset($_COOKIE['u_id']) && isset($_COOKIE['u_pass']))
    4.     {
    5.         $_SESSION['ses_user'] = $_COOKIE['u_id'];
    6.         $_SESSION['pass'] = $_COOKIE['u_pass'];
    7.     }
    8.  
    9. //выход
    10. if (isset($_GET['logout']))
    11. {
    12.     if (isset($_SESSION['ses_user'])) { unset($_SESSION['ses_user']); }
    13.     if (isset($_SESSION['pass'])) { unset($_SESSION['pass']); }
    14.     setcookie('u_id', '', 0, "/");
    15.     setcookie('u_pass', '', 0, "/");
    16.     header('Location: /index.php');
    17.     exit;
    18. }
    19.  
    20.  
    21.  
    22. //проверка
    23. if (isset($_SESSION['ses_user']) && isset($_SESSION['pass']))
    24.     {
    25.  
    26.     $ses_user = (isset($_SESSION['ses_user'])) ? mysql_real_escape_string($_SESSION['ses_user']) : '';
    27.     $pass = (isset($_SESSION['pass'])) ? mysql_real_escape_string($_SESSION['pass']) : '';
    28.     $skybase = mysql_query("SELECT `user_id`,`vk_id`,`vk_avatar`,`vk_avatar_100`,`user_login`,`user_pass`,`user_prava`,`user_ref`,`user_email`,`user_balance`,`user_payeer`,`chek_ban`
    29.    FROM `p_users` WHERE  `user_pass`='{$pass}' AND `user_id`='{$ses_user}' LIMIT 1",$db) or die(mysql_error());
    30.         if (mysql_num_rows($skybase) == 1)
    31.         {
    32.             $skyrow = mysql_fetch_array($skybase);
    33.             $prava = $skyrow['user_prava'];
    34.             $name =  $skyrow['user_login'];
    35.             $user_email = $skyrow['user_email'];
    36.          
    37.             $user_ref_set = $skyrow['user_ref'];
    38.          
    39.             $payeer_purse = $skyrow['user_payeer'];
    40.             $vk_avatar = $skyrow['vk_avatar'];
    41.             $vk_user_id_global = $skyrow['vk_id'];
    42.             $vk_avatar_100 = $skyrow['vk_avatar_100'];
    43.          
    44.             $user_balance_global = $skyrow['user_balance'];
    45.          
    46.          
    47.         }
    48.         else { echo '<link href="st.css" rel="stylesheet" type="text/css"><center><br /><div class="alert">Попытка взлома. За тобой уже выехали!  </div><br /></center>'; exit(); }
    49.  
    50.  
    51.     }
    52.  
    53. //настройки
    54. $skybasenastr = mysql_query("SELECT `nas_par`,`nas_znach` FROM `p_settings`",$db) or die(mysql_error());
    55. $skyrownastr = mysql_fetch_array($skybasenastr);
    56. do {
    57.     $$skyrownastr['nas_par'] = $skyrownastr['nas_znach'];
    58.     }
    59. while ($skyrownastr = mysql_fetch_array($skybasenastr));
    60.  
    61. if($skyrow['chek_ban'] >0){
    62. exit('<br/><center><b>Ваш аккаунт заблокирован!</b><br/> Одна из самых распространенных причин блокировки - это мультоводство (регистрация более одного аккаунта).<br/>Если вы считаете, что произошла нелепая ошибка, то пожалуйста, напишите Админу - Email: '.$admin_email.'</center>');
    63. }
    64.  
    65. include ('inc_set.php');
    66. ?>
     
    #1 Baktybek, 15 сен 2018
    Последнее редактирование модератором: 17 сен 2018
  2. yanuzay

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

    С нами с:
    28 мар 2018
    Сообщения:
    503
    Симпатии:
    58
    Переводим гуглом: "Примечание: Неопределенная переменная: skyrow in /storage/emulated/0/www/inc/lib.php в строке 61"

    каков ваш вывод, сэр?
     
  3. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Это ужас. Не показывай ни кому.
     
    _ne_scaju_ нравится это.
  4. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    код превосходит моих ожиданий :D если только начал он программировать, это круто! А если уже кодит так давно, согласен с тобой на все 100%
     
  5. Astar75

    Astar75 Новичок

    С нами с:
    15 сен 2018
    Сообщения:
    14
    Симпатии:
    4
    О боже.... я уже начинаю верить в бога!
    Хоть проверяй что у тебя в переменной лежит
    PHP:
    1. $skyrow = mysql_fetch_array($skybase);
     
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.840
    Симпатии:
    1.338
    Адрес:
    Лень
    Я в этом скрипте понял одно:



    PHP:
    1. if (mysql_num_rows($skybase) == 1)
    2. {
    3. $skyrow = mysql_fetch_array($skybase);
    4. $prava = $skyrow['user_prava'];
    5. $name = $skyrow['user_login'];
    6. $user_email = $skyrow['user_email'];
    7.  
    8. $user_ref_set = $skyrow['user_ref'];
    9.  
    10. $payeer_purse = $skyrow['user_payeer'];
    11. $vk_avatar = $skyrow['vk_avatar'];
    12. $vk_user_id_global = $skyrow['vk_id'];
    13. $vk_avatar_100 = $skyrow['vk_avatar_100'];
    14.  
    15. $user_balance_global = $skyrow['user_balance'];
    16.  
    17. if($skyrow['chek_ban'] >0){
    18. exit('<br/><center><b>Ваш аккаунт заблокирован!</b><br/> Одна из самых распространенных причин блокировки - это мультоводство (регистрация более одного аккаунта).<br/>Если вы считаете, что произошла нелепая ошибка, то пожалуйста, напишите Админу - Email: '.$admin_email.'</center>');
    19. }
    20.  
    21. }
    --- Добавлено ---
    Все.. с вас оскар.
     
  7. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    PHP:
    1. <?php
    2. $skyrow = $db->prepare("SELECT COUNT(0) AS `ROW_COUNT` FROM `table` WHERE `id` = ?");
    3. $skyrow->execute([$uid]);
    4. $result = $skyrow->fetch();
    5.  
    6. if($result['ROW_NUM'] == 1)
    7. {
    8.     foreach ($result as $value) {
    9.         var_dump($value);
    10.     }
    11.  
    12.     if($result['chek_ban'] > 0){
    13.         $_SESSION['error'][] = 'Ваш аккаунт заблокирован! напиши мне пообщаемся - Email: '.$admin_email;
    14.  
    15.         header('Location: /index.php');
    16.         exit;
    17.     }
    18. }
    примерно так, но это не точно :D
     
  8. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.840
    Симпатии:
    1.338
    Адрес:
    Лень
  9. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    я уточнил (примерно так, но это не точно :D)
     
  10. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.840
    Симпатии:
    1.338
    Адрес:
    Лень
    смысл писать то что сам не понимаешь что пишешь ?
     
  11. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    смысл есть, тренировка, и что я написал вроде понимаю)
    PHP:
    1. <?php
    2. # запрос вытягиваем данные для одного пользователя или таблицы
    3. $skyrow = $db->prepare("SELECT COUNT(0) AS `ROW_COUNT` FROM `table` WHERE `id` = ?");
    4. $skyrow->execute([$uid]);
    5. # выполнение запроса
    6. $result = $skyrow->fetch();
    7. # считаем количество данных можно вместо count(0) вставить поле которое нужно считать, если поле равно 1 продолжаем дальше
    8. if($result['ROW_NUM'] == 1)
    9. {
    10.    # записываем запрос в цикл
    11.    foreach ($result as $value) {
    12.        # выводим на экран вар дампом, проверяем что там находиться
    13.        var_dump($value);
    14.     }
    15.    # проверяем не стоит ли у юзера бан, если стоит, уведомляем юзера и редиректим его на главную
    16.    if($result['chek_ban'] > 0){
    17.         $_SESSION['error'][] = 'Ваш аккаунт заблокирован! напиши мне пообщаемся - Email: '.$admin_email;
    18.         header('Location: /index.php');
    19.         exit;
    20.     }
    21. }
    и что я тут не понимаю? Да код говняный согласен но не настолько все плохо)
     
    #11 _ne_scaju_, 16 сен 2018
    Последнее редактирование: 16 сен 2018
  12. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    Этот запрос не вытягивает данные, а считает найденные строки
     
    _ne_scaju_ нравится это.
  13. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    все началось прыдирание к словам)
    не даете даже подсказать, хотя я люблю критику в мою сторону если я не прав.
     
  14. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    потому что в запросе я не указа поле ['chek_ban'] верно?)
    пусть автор покажет для начала запрос, тогда от этого будем отталкиваться поправлять меня и его.
     
  15. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.840
    Симпатии:
    1.338
    Адрес:
    Лень
    я даже успел удалить свой пост, и написать причину "впизду это программирование"
    --- Добавлено ---
    PHP:
    1. SELECT `user_id`,`vk_id`,`vk_avatar`,`vk_avatar_100`,`user_login`,`user_pass`,`user_prava`,`user_ref`,`user_email`,`user_balance`,`user_payeer`,`chek_ban`
    2. FROM `p_users` WHERE `user_pass`='{$pass}' AND `user_id`='{$ses_user}' LIMIT 1
     
    _ne_scaju_ нравится это.