<?
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
с запятой выходит вот такая ошибка
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."') |
Да ладно!
Спустя 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
Цитата |
ну я написал так как у меня работает) |
Понимаю, а я написал как правильно! Вам выбирать!
Спустя 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
А! Точняк! Провтыкал этот поворот!
А! Точняк! Провтыкал этот поворот!
Спустя 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 пропустил, но всё ранво не работает. ни старый - ни новый(
я с последним мд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());