Прежде всего. Я новичок как в PHP/SQL, так и в StackOverflow, поэтому мне жаль, если мой пост странный. Мне сложно понять, что не так с моим кодом. Я зарегистрировал несколько пользователей (каждый с паролем ofc), но я только получил логин. Это мое, если это неправильно?Аутентификация пользователя PHP/SQL
спасибо.
<?php
session_start();
//Connecting and choosing DB
$connection = mysql_connect("link", "user", "pw");
mysql_select_db("user", $connection);
$username = mysql_real_escape_string($_POST['brukernavn']);
$password = mysql_real_escape_string($_POST['passord']);
// Check the users input against the DB.
$sql = "SELECT * FROM brukere WHERE brukernavn = '$username' AND passord = '$password'";
$result = mysql_query($sql) or die ("Unable to verify user because " . mysql_error());
$row = mysql_fetch_assoc($result);
if($row['total'] == 1)
{
$_SESSION['loggedIn'] = "true";
header("Location: insertlink");
}
else
{
$_SESSION['loggedIn'] = "false";
echo "<p>Login failed, username or password incorrect.</p>";
}
?>
Я знаю, что вы сказали, что вы новичок в PHP/MySQL, поэтому я рекомендую начинать правильно и НЕ использовать функции mysql_ *. Посмотрите на mysqli или PDO (последнее - мое личное предпочтение). Нам также нужно будет увидеть ваш регистрационный код. Вы шифруете пароли при их сохранении? – muttley91
1. 'mysql_ *' устарел, используйте 'mysqli_' или' PDO'. 2. Вы храните в своей базе данные с открытым текстом, что очень плохо. – lxg
@ lxg - Хотелось бы, чтобы я мог рассказать о 100 upvotes ... –