Проблема, с которой я столкнулся, заключается в том, что у вас в начале кода для входа есть что-то вроде: echo $password;
и через несколько строк вы получите echo $check_pass_2;
, что приведет к строкебраузер, похожий на 0, появится позже.Это потому, что $check_pass_2
просто подсчитывает, сколько строк было возвращено из вашего запроса MySQL, это 0, поскольку нет пользователя с таким же именем пользователя, как пароль.Таким образом, ваша настоящая проблема - это mysql-запрос, он проверяет, есть ли пользователь с тем же именем пользователя, что и введенный пароль, что странно.Попробуйте изменить свой последний запрос в login.php на:
$check_pass = mysql_query("SELECT * FROM users WHERE password = '".$password."'")
or die(mysql_error());
Обратите внимание, что username = '".$password."'
было изменено на password = '".$password."'
.Во-вторых, вы должны понимать, что если вы делаете что-то вроде:
$pass = trim($_POST['pass']);
$pass = md5($_POST['pass']);
, тогда переменная $ pass будет просто md5'd без эффектов обрезки, для достижения этой цели вы должны сделать:
$pass = trim($_POST['pass']);
$pass = md5($pass);
Но вы не должны урезать свои пароли, поскольку это просто странно и неудобно, на самом деле это ничего не добавляет.
Строка, где вы делаете это:
if($mysql_check_user
= mysql_query("SELECT * FROM `users` WHERE `username` LIKE '$username' "))
Это if-выражение является излишним, так как вы просто делаете присваивание, вы можете удалить if и просто оставить переменную такой, какая она есть.Т.е.:
$mysql_check_user = mysql_query("SELECT * FROM `users` WHERE `username` LIKE '$username'");
Кроме того, старайтесь придерживаться какого-то стиля при кодировании, это значительно облегчает чтение вашего кода.Большинство редакторов кода имеют эту функцию по умолчанию, возможно, вам нужно нажимать клавишу TAB на каждой новой строке, чтобы правильно сделать отступ, хотя это очень помогает.Пример того, как это может выглядеть:
function register()
{
if(isset($_POST['submit']))
{
if(!$_POST['first_name'] ||
!$_POST['last_name'] ||
!$_POST['username'] ||
!$_POST['password'])
header ("Location:user_registration.php");
else
{
$firstname = trim($_POST['first_name']);
$firstname = addslashes($_POST['first_name']);
$lastname = trim($_POST['last_name']);
$lastname = addslashes($_POST['last_name']);
$username = trim($_POST['username']);
$username = addslashes($_POST['username']);
$password = trim($_POST['password']);
$password = md5($_POST['password']);
connect();
if($mysql_check_user = mysql_query("SELECT * FROM `users` WHERE `username` LIKE '$username' "))
{
$check_row = mysql_num_rows($mysql_check_user);
if($check_row > 0)
die ("username Exist");
else
{
$store = mysql_query
("INSERT INTO `project_upload`.`users`
(`id`, `fname`, `lname`, `username`, `password`)
VALUES (NULL, '$firstname', '$lastname', '$username', '$password')");
}
if ($store)
echo "You have regstered succesfully. please go to <a href = 'uploads_login.php'>login page</a>";
else
echo mysql_error();
}
}
}
}