Хорошо, я заставил меня зарегистрироваться в системе регистрации, но когда я попытался сделать систему входа в систему, она не сработала. Когда пользователь входит в систему с правильным именем пользователя и паролем, его сообщение "Вы вошли в систему", но когда я обновляю сайт, он говорит, что мне нужно войти в систему. И я должен спросить, как я могу проверить, что пользователь зарегистрирован в качестве примера. Если пользователь вошел в систему так, эхо, и если это не так, повторите это.
Вот мой код:
session_start();
require 'inc/connect.php';
if(isset($_POST['name'], $_POST['password'])){
if(!empty($_POST['name'])){
if(!empty($_POST['password'])){
$username = $_POST['name'];
$password = $_POST['password'];
$user = $_SESSION['name'];
// KRYPTERING
$md5 = md5($password);
$sha1 = sha1($md5);
$crypt = crypt($sha1, 'st');
$md51 = md5($crypt);
$sha12 = sha1($md51);
$crypt1 = crypt($sha12, 'st');
$kode = base64_encode($crypt1);
$check = $mysqli->prepare("SELECT username, password FROM user WHERE username=? && password=?");
$check->bind_param("ss", $username, $kode);
$check->execute();
$check->bind_result($username, $kode);
$print = $check->fetch();
$check->close();
if ($print)
echo "You are now logged in!";
else
echo "Username / Password was incorrect!";
} else
echo "You need something!";
} else
echo "You need something!";
}
Вам нужно поместить имя пользователя в сеанс на успешном входе в систему, проверить его в верхней части страницы и перенаправить на другой, когда он уже установлен.
session_start();
require 'inc/connect.php';
if(isset($_SESSION['username']))
{
//already logged in, redirect
header('Location: otherpage.php');
exit;
}
if(isset($_POST['name'], $_POST['password'])){
if(!empty($_POST['name'])){
if(!empty($_POST['password'])){
$username = $_POST['name'];
$password = $_POST['password'];
$user = $_SESSION['name'];
// KRYPTERING
$md5 = md5($password);
$sha1 = sha1($md5);
$crypt = crypt($sha1, 'st');
$md51 = md5($crypt);
$sha12 = sha1($md51);
$crypt1 = crypt($sha12, 'st');
$kode = base64_encode($crypt1);
$check = $mysqli->prepare("SELECT username, password FROM user WHERE username=? && password=?");
$check->bind_param("ss", $username, $kode);
$check->execute();
$check->bind_result($username, $kode);
$print = $check->fetch();
$check->close();
if ($print)
{
//redirect to different page for the message
//echo "You are now logged in!";
$_SESSION['username'] = $username;
header('Location: otherpage.php');
exit;
}
else
echo "Username / Password was incorrect!";
} else
echo "You need something!";
} else
echo "You need something!";
}
Затем на других страницах вам нужно что-то вроде:
session_start();
if(!isset($_SESSION['username']))
{
//not logged in, redirect to login form
header('Location: login_form.php');
exit;
}