Question about PHP login script
Hello, just saw your PHP login scrit video on youtube and liked it very much. It is also working 100%.
I am just wondering, if i want a page only displayed to those who are logged in. What should i do? And of course if they are not logged in they will go to my index.php.
Thanks for the nice video and hopefully an awnser in here! :-D
Hey @Nicolaj-arberg,
What you could do is inside of index.php after this section:
<?php
session_start();
require 'database.php';
if( isset($_SESSION['user_id']) ){
$records = $conn->prepare('SELECT id,email,password FROM users WHERE id = :id');
$records->bindParam(':id', $_SESSION['user_id']);
$records->execute();
$results = $records->fetch(PDO::FETCH_ASSOC);
$user = NULL;
if( count($results) > 0){
$user = $results;
}
}
?>
You can add this:
<?phpif( !empty($user) ){ header( 'Location: http://www.yoursite.com/authenticated.php' ); }
And this will automatically redirect an authenticated user to the authenticated.php page if they are logged in.
So, now you can create an `authenticated.php` file which will look like the following:
<?php
session_start();
require 'database.php';
if( isset($_SESSION['user_id']) ){
$records = $conn->prepare('SELECT id,email,password FROM users WHERE id = :id');
$records->bindParam(':id', $_SESSION['user_id']);
$records->execute();
$results = $records->fetch(PDO::FETCH_ASSOC);
$user = NULL;
if( count($results) > 0){
$user = $results;
}
}
?>
<?php
if($user == NULL){
header( 'Location: http://www.yoursite.com/index.php' ) ;
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Welcome <?= $user['email']; ?></title>
<link rel="stylesheet" type="text/css" href="assets/css/style.css">
<link href='http://fonts.googleapis.com/css?family=Comfortaa' rel='stylesheet' type='text/css'>
</head>
<body>
<span class="token markup"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>div</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>header<span class="token punctuation">"</span></span><span class="token punctuation">></span></span></span>
<span class="token markup"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>a</span> <span class="token attr-name">href</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>/<span class="token punctuation">"</span></span><span class="token punctuation">></span></span></span>Your App Name<span class="token markup"><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>a</span><span class="token punctuation">></span></span></span>
<span class="token markup"><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>div</span><span class="token punctuation">></span></span></span>
<span class="token markup"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>br</span> <span class="token punctuation">/></span></span></span>Welcome <span class="token php"><span class="token delimiter"><?</span><span class="token operator">=</span> <span class="token variable">$user</span><span class="token punctuation">[</span><span class="token string">'email'</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token delimiter">?></span></span>
<span class="token markup"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>br</span> <span class="token punctuation">/></span></span></span><span class="token markup"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>br</span> <span class="token punctuation">/></span></span></span>You are successfully logged in<span class="token operator">!</span>
<span class="token markup"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>br</span> <span class="token punctuation">/></span></span></span><span class="token markup"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>br</span> <span class="token punctuation">/></span></span></span>
<span class="token markup"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>a</span> <span class="token attr-name">href</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>logout.php<span class="token punctuation">"</span></span><span class="token punctuation">></span></span></span>Logout<span class="token operator">?</span><span class="token markup"><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>a</span><span class="token punctuation">></span></span></span>
</body>
</html>
Hope this helps you out :)
Thanks!