Различные вопросы по PHP и MySQL

242K
.
ДоХтор,
include '../System/core.php';

$config['title'] = 'Авторизация в панель управления';

include '../System/header.php';

if (isset($user)){header('Location: /');}

if (isset($_POST['login_go']))
{
$error = FALSE;
if (empty($_POST['login'])){error('Введите логин'); $error = TRUE;}
if (empty($_POST['password'])){error('Введите пароль'); $error = TRUE;}
if($_SESSION['secpic'] !== strtolower($_POST['captha'])){error('Код с картинке введен не верно'); $error = TRUE; UnSET($_SESSION['secpic']);}


if ($error == FALSE)
{
$login = esc($_POST['login']);
$password = md5(md5($_POST['password']));
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `login` = '$login' AND `password` = '$password'"),0); $sql_count ++;


if ($count == '0')
{
error('Логин или пароль введен не верно');
$pass = xss($_POST['password']);
$time = time();
$ip = $_SERVER['REMOTE_ADDR'];
$ua = user_browser($_SERVER['HTTP_USER_AGENT']);
mysql_query("INSERT INTO `log_error_login` (`login`, `password`, `time`, `ip`, `ua`) VALUES ('$login', '$pass', '$time', '$ip', '$ua')"); $sql_count++;
}
else
{
# Генерируем ключ
$key = md5(md5(mt_rand()));
  
# Записываем COOKIE
setcookie('login_user', $login, time() + 3600 * 24 * 7, '/');
setcookie('key_user', $key, time() + 3600 * 24 * 7, '/');
 
# Обновляем ключ
mysql_query("UPDATE `users` SET `key` = '$key' WHERE `login` = '$login' AND `password` = '$password'"); $sql_count ++;
  
# Перекидываем в админку
header('Location: /Panel/');

}
}
 
}


?>
   <form class="text" action="" method="POST">
    Логин:<br />
<input type="text" name="login"><br />

Пароль:<br />
<input type="password" name="password"><br />

Введите код с картинки:<br />
<img src="/captha.php" alt="защитный код" /><br />
<input type="text" name="captha"><br />

<input type="submit" name="login_go" value="Войти">
   </form>
<?


?><div class="back"><a href="/"><img src="/Style/icons/back.png" alt="" /> На главную</a></div><?

include '../System/footer.php';
.
(\/)____o_O____(\/)
# Нектарин (14.10.2016 / 17:19)
Koenig, сайт самопис , с чатом на аяксе и личной почтой + небольшой загруз центр )
я имел ввиду как используется, используются ли подготовленные выражения и обёртки. с обёрткой mysqli мне кажется лучше
.
Pistolero, а где строка, стартующая сессию? И где текст ошибки? Код файла, который инклудится, может тоже понадобиться.
.
Koenig, ничего не используется , просто самопис , код процедурный )
.
(\/)____o_O____(\/)
Нектарин, Mysqli процедурный для начала попробуй
.
Вот эта строка
$bann = DB::$dbs->queryFetch("SELECT * FROM ban WHERE user_ban = ? AND timeban > ? LIMIT 1", [$user['id'],time()]);

Вызывает следующую ошибку Parse error: syntax error, unexpected '[' Как это исправить? Или проблема в версии PHP?
.
Koenig
(\/)____o_O____(\/)
Pistolero, замени [$user['id'],time()]
на array($user['id'],time())
ну или пых 5.4+
.
у тебя версия пхп не поддерживает массивы в виде []
.
Кто напомнит где в JohnCMS отключить Invalid IP? Я так понимаю когда прокси стоит, там ip не считывается?
.
ROM, в core смотри, там должно быть
Всего: 7969