Помогите как исправить Notice: Undefined variable: skyrow in /storage/emulated/0/www/inc/lib.php on line 61 PHP: <?php //вход, если запомнили if (isset($_COOKIE['u_id']) && isset($_COOKIE['u_pass'])) { $_SESSION['ses_user'] = $_COOKIE['u_id']; $_SESSION['pass'] = $_COOKIE['u_pass']; } //выход if (isset($_GET['logout'])) { if (isset($_SESSION['ses_user'])) { unset($_SESSION['ses_user']); } if (isset($_SESSION['pass'])) { unset($_SESSION['pass']); } setcookie('u_id', '', 0, "/"); setcookie('u_pass', '', 0, "/"); header('Location: /index.php'); exit; } //проверка if (isset($_SESSION['ses_user']) && isset($_SESSION['pass'])) { $ses_user = (isset($_SESSION['ses_user'])) ? mysql_real_escape_string($_SESSION['ses_user']) : ''; $pass = (isset($_SESSION['pass'])) ? mysql_real_escape_string($_SESSION['pass']) : ''; $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` FROM `p_users` WHERE `user_pass`='{$pass}' AND `user_id`='{$ses_user}' LIMIT 1",$db) or die(mysql_error()); if (mysql_num_rows($skybase) == 1) { $skyrow = mysql_fetch_array($skybase); $prava = $skyrow['user_prava']; $name = $skyrow['user_login']; $user_email = $skyrow['user_email']; $user_ref_set = $skyrow['user_ref']; $payeer_purse = $skyrow['user_payeer']; $vk_avatar = $skyrow['vk_avatar']; $vk_user_id_global = $skyrow['vk_id']; $vk_avatar_100 = $skyrow['vk_avatar_100']; $user_balance_global = $skyrow['user_balance']; } else { echo '<link href="st.css" rel="stylesheet" type="text/css"><center><br /><div class="alert">Попытка взлома. За тобой уже выехали! </div><br /></center>'; exit(); } } //настройки $skybasenastr = mysql_query("SELECT `nas_par`,`nas_znach` FROM `p_settings`",$db) or die(mysql_error()); $skyrownastr = mysql_fetch_array($skybasenastr); do { $$skyrownastr['nas_par'] = $skyrownastr['nas_znach']; } while ($skyrownastr = mysql_fetch_array($skybasenastr)); if($skyrow['chek_ban'] >0){ exit('<br/><center><b>Ваш аккаунт заблокирован!</b><br/> Одна из самых распространенных причин блокировки - это мультоводство (регистрация более одного аккаунта).<br/>Если вы считаете, что произошла нелепая ошибка, то пожалуйста, напишите Админу - Email: '.$admin_email.'</center>'); } include ('inc_set.php'); ?>
Переводим гуглом: "Примечание: Неопределенная переменная: skyrow in /storage/emulated/0/www/inc/lib.php в строке 61" каков ваш вывод, сэр?
код превосходит моих ожиданий если только начал он программировать, это круто! А если уже кодит так давно, согласен с тобой на все 100%
О боже.... я уже начинаю верить в бога! Хоть проверяй что у тебя в переменной лежит PHP: $skyrow = mysql_fetch_array($skybase);
Я в этом скрипте понял одно: PHP: if (mysql_num_rows($skybase) == 1) { $skyrow = mysql_fetch_array($skybase); $prava = $skyrow['user_prava']; $name = $skyrow['user_login']; $user_email = $skyrow['user_email']; $user_ref_set = $skyrow['user_ref']; $payeer_purse = $skyrow['user_payeer']; $vk_avatar = $skyrow['vk_avatar']; $vk_user_id_global = $skyrow['vk_id']; $vk_avatar_100 = $skyrow['vk_avatar_100']; $user_balance_global = $skyrow['user_balance']; if($skyrow['chek_ban'] >0){ exit('<br/><center><b>Ваш аккаунт заблокирован!</b><br/> Одна из самых распространенных причин блокировки - это мультоводство (регистрация более одного аккаунта).<br/>Если вы считаете, что произошла нелепая ошибка, то пожалуйста, напишите Админу - Email: '.$admin_email.'</center>'); } } --- Добавлено --- Все.. с вас оскар.
PHP: <?php $skyrow = $db->prepare("SELECT COUNT(0) AS `ROW_COUNT` FROM `table` WHERE `id` = ?"); $skyrow->execute([$uid]); $result = $skyrow->fetch(); if($result['ROW_NUM'] == 1) { foreach ($result as $value) { var_dump($value); } if($result['chek_ban'] > 0){ $_SESSION['error'][] = 'Ваш аккаунт заблокирован! напиши мне пообщаемся - Email: '.$admin_email; header('Location: /index.php'); exit; } } примерно так, но это не точно
смысл есть, тренировка, и что я написал вроде понимаю) Спойлер: повтор кода, с минимальным описанием PHP: <?php # запрос вытягиваем данные для одного пользователя или таблицы $skyrow = $db->prepare("SELECT COUNT(0) AS `ROW_COUNT` FROM `table` WHERE `id` = ?"); $skyrow->execute([$uid]); # выполнение запроса $result = $skyrow->fetch(); # считаем количество данных можно вместо count(0) вставить поле которое нужно считать, если поле равно 1 продолжаем дальше if($result['ROW_NUM'] == 1) { # записываем запрос в цикл foreach ($result as $value) { # выводим на экран вар дампом, проверяем что там находиться var_dump($value); } # проверяем не стоит ли у юзера бан, если стоит, уведомляем юзера и редиректим его на главную if($result['chek_ban'] > 0){ $_SESSION['error'][] = 'Ваш аккаунт заблокирован! напиши мне пообщаемся - Email: '.$admin_email; header('Location: /index.php'); exit; } } и что я тут не понимаю? Да код говняный согласен но не настолько все плохо)
все началось прыдирание к словам) не даете даже подсказать, хотя я люблю критику в мою сторону если я не прав.
потому что в запросе я не указа поле ['chek_ban'] верно?) пусть автор покажет для начала запрос, тогда от этого будем отталкиваться поправлять меня и его.
я даже успел удалить свой пост, и написать причину "впизду это программирование" --- Добавлено --- PHP: 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` FROM `p_users` WHERE `user_pass`='{$pass}' AND `user_id`='{$ses_user}' LIMIT 1