私は、MySQL データベースにユーザーを保存する登録/サインインを可能にする基本的なログイン システムに取り組んでいます。人々が登録できるように、ユーザー名とハッシュ化されたパスワードをDBに保存します。誰かがログインすると、ユーザー名とパスワードが一致したかどうかに応じて、成功メッセージまたはエラー メッセージが表示されます。
私の問題はログイン機能にあります。現在そこにある成功メッセージを表示する代わりに、ユーザー セッションを作成し、サイトのログイン専用セクションにリダイレクトする必要があります。私はそれを行う方法がわからない...
これが私のコードです:
ログイン・登録機能
function login($username, $password) {
$userpass = sha1($password);
$result = mysqli_query($con, "SELECT * FROM members WHERE username='$username' AND password='$userpass'");
while($row = mysqli_fetch_array($result)) {
$success = true;
}
if($success == true) {
echo 'Success!';
} else {
echo '<div class="alert alert-danger">Oops! It looks like your username and/or password are incorrect. Please try again.</div>';
}
} // END LOGIN FUNCTION
function register($username, $password) {
$userpass = sha1($password);
// Check if Username Exists
$result = mysqli_query($con,"SELECT * FROM members WHERE username='$username'");
while($row = mysqli_fetch_array($result)) {
$userexist = 1;
}
if($userexist > 0) {
echo '<div class="alert alert-danger">Sorry, it looks like that username is already taken.</div>';
} else {
$newmember = "INSERT INTO members SET username='$username', password='$userpass'";
if(mysqli_query($con,$newmember)) {
echo '<div class="alert alert-success">Congrats! You can now log in using your username and password</div>';
}
}
}