[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: авторизация
2fed
уже который раз подымается этот вопрос... я хз что тут не так, но авторизация не работает =_="

<?
include("include/connect.php");

if($_POST['sbm_auth'])
{
$login=$_POST['login'];
$pass=$_POST['pass'];

$check_q=mysql_query("SELECT * FROM `hacknet8`.`users` Where login='".$login."' AND pass=md5(md5(md5('".$pass."')))");

if(mysql_num_rows($check_q) === 1)
{
session_start();


$_SESSION['login'] = $login;
$_SESSION['pass'] = $pass;

$_SESSION['usr_id'] = md5(crypt($login,$pass));

header("Location: http://hacknet.h19.ru/home.php");
}
else
{
$error= "Май фрёнд, ты тут не дури.. Либо набирай внимательно, либо придумай более умный способ вскрытия ящика жены!";
}
}

?>


P.S. в connect.php всё верно, так как регистрация работает. у меня всё время пишет сообщение $error...

помогите пожалуйста исправить данный код или скажите что я делаю не так...



Спустя 29 минут, 33 секунды (11.10.2011 - 17:22) Serg_php написал(а):
НУ вопервых на сколько я знаю вот это запрос на выборку с БД нужно указывать так
$check_q=mysql_query("SELECT * FROM `hacknet8`,`users` Where login='".$login."' AND pass=md5(md5(md5('".$pass."')))");
тоисть не крапочка там ставиться а запитая(между таблицами)

Спустя 1 минута, 33 секунды (11.10.2011 - 17:23) Serg_php написал(а):
А зачем hacknet8, что с нее выбираеться?

Спустя 2 минуты, 45 секунд (11.10.2011 - 17:26) 2fed написал(а):
это имя БД, я раньше писал без этого, но оно не работало вообще, потом кто-то посоветовал поставить так...


с запятой выходит вот такая ошибка

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/h/hacknet.h19.ru/WWW/index.php on line 11

Спустя 9 минут, 34 секунды (11.10.2011 - 17:36) Serg_php написал(а):
что, вот так не работает
$check_q=mysql_query("SELECT * FROM `users` WHERE login='$login' AND pass=md5(md5(md5('$pass')))");
если у тебя все данные в таблице users и вы не напутали с MD5 то должно работать все на ура. Попробуйте так как я написал

Спустя 35 секунд (11.10.2011 - 17:36) m4a1fox написал(а):
2fed
Цитата
pass=md5(md5(md5('".$pass."')

Да ладно! blink.gif

Спустя 59 секунд (11.10.2011 - 17:37) m4a1fox написал(а):
Serg_php
Это вы смело так
Цитата
WHERE login='$login'

Хотя правильно будет вот так
WHERE login='".$login."'

Спустя 2 минуты, 18 секунд (11.10.2011 - 17:39) Serg_php написал(а):
ну я написал так как у меня работает)

Спустя 51 секунда (11.10.2011 - 17:40) m4a1fox написал(а):
А assoc кто будет делать? ПУШКИН?

Спустя 32 секунды (11.10.2011 - 17:41) m4a1fox написал(а):
Serg_php
Цитата
ну я написал так как у меня работает)
Понимаю, а я написал как правильно! smile.gif Вам выбирать!

Спустя 2 минуты, 10 секунд (11.10.2011 - 17:43) Serg_php написал(а):
ТОчно, я сразу и не заметил.2fed- сделай сначало вот так
$row = mysql_fetch_assoc ($res);
а потом уже с этого масива и доставай данные

Спустя 3 минуты, 20 секунд (11.10.2011 - 17:46) m4a1fox написал(а):

<?php session_start();
include './include/connect.php';

if(isset($_POST['sbm_auth']))
{
$login=!empty($_POST['login']) ? htmlspecialchars($_POST['login']) : false;
$pass=!empty($_POST['pass']) ? htmlspecialchars($_POST['pass']) : false;

if($login AND $pass){
$check_q=mysql_query("SELECT * FROM `users`
WHERE
`login` = '"
.mysql_real_escape_string($login)."'
AND
`pass` = md5(md5(md5('"
.mysql_real_escape_string($pass)."'))) // Очень скрытно! :) Нафига?
LIMIT 1"
);
if(mysql_num_rows($check_q) === 1)
{
//session_start(); - сессия стартует только в начале файла!
$true = mysql_fetch_assoc($check_q);
print_r($true);

$_SESSION['login'] = $login;
$_SESSION['pass'] = $pass;

$_SESSION['usr_id'] = md5(crypt($login,$pass)); // Нафига так усложнять? Добавь соли и не парься!

//header("Location: http://hacknet.h19.ru/home.php");

}
else
{
$error= "Май фрёнд, ты тут не дури.. Либо набирай внимательно, либо придумай более умный способ вскрытия ящика жены!";
}
}
}



?>

Лови! ИМХО!

Спустя 16 минут, 28 секунд (11.10.2011 - 18:03) alex12060 написал(а):
Одуреть. Вот это работает?


$check_q=mysql_query("SELECT * FROM `users`
WHERE
`login` = '"
.mysql_real_escape_string($login)."'
AND
`pass` = md5(md5(md5('"
.mysql_real_escape_string($pass)."')))
LIMIT 1"
);


А не так ли?


$check_q=mysql_query("SELECT * FROM `users`
WHERE
`login` = '"
.mysql_real_escape_string($login)."'
AND
`pass` = '"
.md5(md5(md5($pass)))."'
LIMIT 1"
);

Спустя 1 минута, 29 секунд (11.10.2011 - 18:04) m4a1fox написал(а):
alex12060
А! Точняк! smile.gif Провтыкал этот поворот! biggrin.gif

Спустя 2 минуты, 18 секунд (11.10.2011 - 18:07) m4a1fox написал(а):
А вообще я бы вот так сделал!

$salt1 = "!@#";
$salt2 = "$%^";
$pass = md5($salt1.$pass.$salt2);

А потом вот так!

$check_q=mysql_query("SELECT * FROM `users`
WHERE
`login` = '"
.mysql_real_escape_string($login)."'
AND
`pass` = '"
.$pass."'
LIMIT 1"
);

Спустя 7 минут, 52 секунды (11.10.2011 - 18:14) 2fed написал(а):
не работает(

Спустя 1 минута, 18 секунд (11.10.2011 - 18:16) m4a1fox написал(а):
Хз! Давай код сюда. С БД тоже!

Спустя 4 минуты, 11 секунд (11.10.2011 - 18:20) 2fed написал(а):
<?
$dblocation= "localhost";
$dbname= "hacknet8";
$dbuser= "логин";
$dbpasswd= "пас";
$dbcnx= @mysql_connect($dblocation,$dbuser,$dbpasswd);
?>

Спустя 53 секунды (11.10.2011 - 18:21) 2fed написал(а):
там было md5(md5(trim(...

я с последним мд5 пропустил, но всё ранво не работает. ни старый - ни новый(

Спустя 21 секунда (11.10.2011 - 18:21) m4a1fox написал(а):
давай код страницы с формой!

Спустя 55 секунд (11.10.2011 - 18:22) m4a1fox написал(а):
2fed
Цитата
там было md5(md5(trim(...

я с последним мд5 пропустил, но всё ранво не работает. ни старый - ни новый(

Попробуй с солью, как я предложил!

Спустя 1 минута, 43 секунды (11.10.2011 - 18:24) 2fed написал(а):
<html>
<head>
<title>
HackNet</title>
<meta
charset=cp-1251>
<link
rel="shortcun icon" href="favicon.ico">
<link
rel="stylesheet" type="text/css" href="main.css">
<link
rel="stylesheet" type="text/css" href="st1.css">
</head>
<body>
<div
id="body">
<img
src="img/logo1.png" width="822px">
<hr
class="hr1">

<div
id="loginBox">
<div
id="loginImg"><img src="img/login.png" alt="Вход" width="95%"></div>

<div
id="loginEmpty"></div>
<div
id="loginBlock" align="center">
<hr
class="hr1">
<form
method="post">
<h
class="text">Логин:<br>
<input
type="text" name="login"><br>
<h
class="text">Пароль:<br>
<input
type="password" name="passs">
<hr
class="hr1">
<input
type="submit" name="sbm_auth" value="Вход" class="btn">
<a
href="registration.php"><input type="button" value="Регистрация" class="btn"></a>
</form>
<hr
class="hr1">
<?

echo "<font color='red' size='2'>$error</font>";
?>
</div>

</div>

<div
id="corp" align="center">
<hr
class="hr1">

<h
class="text">2fed © 2011</h>

<hr
class="hr1">
</div>

</div>
</body>
</html>

Спустя 5 минут, 33 секунды (11.10.2011 - 18:29) 2fed написал(а):
всё, я нашёл ошибку... всем спасибо, очень помогли.. ошибка была по моей невнимательности, даже стыдно говорить =_="

Спустя 5 минут, 52 секунды (11.10.2011 - 18:35) m4a1fox написал(а):
2fed
Давай учиться правильно кодить?!
Вот тут
Цитата
<form method="post">

А где action потерял?
Вот так правильно
<form method="post" action="">

Как минимум!
Дальше
Вот тут!
<input type="password" name="passs">

Откуда 3 [s] взялась - мне неизвестно! Ну да бог с ней!
Верно вот так
<input type="password" name="pass" />


P.S. Подними форму выше кнопки регистрации. А то это не верно! Ты по сути ее отправляешь вместе с формой когда нажимаешь за залогиниться! Или убери у нее input и поставь ей нормальный class.

Спустя 1 час, 8 минут, 29 секунд (11.10.2011 - 19:44) imbalance_hero написал(а):
mysql_query("запрос") or die(mysql_error());
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.