Reputation: 33
When i log in on my index.php, and then go to another page like members.php, i am a guest again. How can i do so they are logged in on each site? I know that sessions are involved, but cant figure it out. Any help is needed!
EDIT: Ok, so i have tried some stuff that you guys have commented and this is my final code:
my index.php
<?php
session_start();
?>
<html>
<!-- HTML5 Boilerplate -->
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
<!--Import Google Icon Font-->
<link href="http://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link type="text/css" rel="stylesheet" href="css/materialize.min.css" media="screen,projection"/>
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta charset="utf-8">
<!-- Always force latest IE rendering engine & Chrome Frame -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title><?php
$klan = fopen("klan.txt", "r") or die("En error har oppstått!!");
echo fread($klan,filesize("klan.txt"));
fclose($klan);
?></title>
<meta name="description" content="This is the Responsive Grid System, a quick, easy and flexible way to create a responsive web site.">
<meta name="keywords" content="responsive, grid, system, web design">
<meta name="author" content="www.grahamrobertsonmiller.co.uk">
<meta http-equiv="cleartype" content="on">
<link rel="shortcut icon" href="/favicon.ico">
<!-- Responsive and mobile friendly stuff -->
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Stylesheets -->
<link rel="stylesheet" href="css/html5reset.css" media="all">
<link rel="stylesheet" href="css/col.css" media="all">
<link rel="stylesheet" href="css/2cols.css" media="all">
<style type="text/css">
/*
========================
- Note: These styles are just to pretty the basic page up a bit.
You should ignore these when copying and pasting into your site
because your stylesheet should take care of making it look pretty!
========================
*/
body { padding:2em; font : 100%/1.4 'Roboto Condensed', Helvetica, sans-serif;
}
h1 { font-size:2.2em; padding:0 0 .5em 0; }
h2 { font-size:1.5em; }
.header { padding:1em 0; }
.col { background: black; color: white; padding: 1% 0; text-align: center;}
</style>
<link rel="stylesheet" href="demo.css">
<link rel="stylesheet" href="header-fixed.css">
<link rel="stylesheet" type="text/css" href="css/style.css">
<link href='http://fonts.googleapis.com/css?family=Cookie' rel='stylesheet' type='text/css'>
<link href="http://fonts.googleapis.com/css?family=Roboto+Condensed:400,300,700" rel="stylesheet" type="text/css">
<script>
function startTime() {
var today = new Date();
var h = today.getHours();
var m = today.getMinutes();
m = checkTime(m);
document.getElementById('txt').innerHTML =
h + ":" + m;
var t = setTimeout(startTime, 500);
}
function checkTime(i) {
if (i < 10) {i = "0" + i}; // add zero in front of numbers < 10
return i;
}
</script>
</head>
<body onload="startTime()">
<header class="header-fixed">
<div class="header-limiter">
<h1><a href="#"><?php
$klan = fopen("klan.txt", "r") or die("En error har oppstått!!");
echo fread($klan,filesize("klan.txt"));
fclose($klan);
?></a></h1>
<nav>
<?php
$navigasjon = fopen("navigasjon.txt", "r") or die("En error har oppstått!!");
echo fread($navigasjon,filesize("navigasjon.txt"));
fclose($navigasjon);
?>
</nav>
</div>
</header>
<!-- You need this element to prevent the content of the page from jumping up -->
<div class="header-fixed-placeholder"></div>
<div class="headbanner">
<center>
<div class="headBannerText">
<?php
$klan = fopen("klan.txt", "r") or die("En error har oppstått!!");
echo fread($klan,filesize("klan.txt"));
fclose($klan);
?></center>
</div>
</div>
<div class="infonav">
<div class="infonavText">
<center>
<i><div style="float: left;">Teamspeak 3: <?php
$teamspeak = fopen("teamspeak.txt", "r") or die("En error har oppstått!!");
echo fread($teamspeak,filesize("teamspeak.txt"));
fclose($teamspeak);
?></div></i>
<i><div style="float: right;"><span id="demo"></span> <span id="txt"></span></div></i>
<div style="width: 60%;"><marquee behavior="scroll" direction="right"><?php
$infonavb = fopen("infonavb.txt", "r") or die("En error har oppstått!!");
echo fread($infonavb,filesize("infonavb.txt"));
fclose($infonavb);
?></marquee></div>
</center>
</div>
</div>
<script>
var day;
switch (new Date().getDay()) {
case 0:
day = "Søndag";
break;
case 1:
day = "Mandag";
break;
case 2:
day = "Tirsdag";
break;
case 3:
day = "Onsdag";
break;
case 4:
day = "Torsdag";
break;
case 5:
day = "Fredag";
break;
case 6:
day = "Lørdag";
}
document.getElementById("demo").innerHTML = day;
</script>
<!-- HEADER SLUTTER HER -->
<center>
<br><br>
<div id="wrapper">
<div id="right">
<div class="parent">
<div class="main">
<p>Månedens klanspiller</p>
<div class="content" style="font-size: 19px;">
<?php
$topspiller = fopen("topspiller.txt", "r") or die("En error har oppstått!!");
echo fread($topspiller,filesize("topspiller.txt"));
fclose($topspiller);
?>
<style>
.list-group {
padding-left: 0;
margin-bottom: 15px;
}
.list-group-item {
position: relative;
display: block;
padding: 7px 0px;
background-color: #fff;
border: 1px solid #ddd;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
margin: auto;
}
.badge {
float: right;
min-width: 10px;
margin-right: 2%;
padding: 3px 4px;
font-size: 13px;
font-weight: 700;
line-height: 1;
color: #fff;
text-align: center;
white-space: nowrap;
vertical-align: middle;
background-color: #01A9DB;
border-radius: 10px;
}
input[type=text] {
padding:5px;
border:2px solid #01A9DB;
-webkit-border-radius: 5px;
border-radius: 1px;
}
input[type=text]:focus {
border-color: #009EDC;
}
input[type=password] {
padding:5px;
border:2px solid #01A9DB;
-webkit-border-radius: 5px;
border-radius: 1px;
}
input[type=password]:focus {
border-color: #009EDC;
}
input[type=submit] {
padding: 5px 15px;
background: #01A9DB;
border: 0 none;
cursor: pointer;
-webkit-border-radius: 1px;
border-radius: 1px;
color: white;
display: inline-block;
font: 15px 'Roboto Condensed', Helvetica, sans-serif;
}
.knapp {
padding: 5px 15px;
background: #01A9DB;
border: 0 none;
display: inline-block;
cursor: pointer;
-webkit-border-radius: 1px;
border-radius: 1px;
color: white;
font: 15px 'Roboto Condensed', Helvetica, sans-serif;
}
</style>
</div>
</div>
</div>
<div class="parent">
<div class="main">
<p>Klan Info</p>
<div class="content">
<?php
$klaninfo = fopen("klaninfo.txt", "r") or die("En error har oppstått!!");
echo fread($klaninfo,filesize("klaninfo.txt"));
fclose($klaninfo);
?>
</div>
</div>
</div>
<div class="parent">
<div class="main">
<p>Logg inn</p>
<div class="content">
<?php
if (!isset($_POST['submit'])){
?>
<!-- The HTML login form -->
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
Brukernavn: <input type="text" name="username" style="margin-top: 1%;" /><br />
Passord: <input type="password" name="password" style="margin-top: 1%;" /><br />
<input type="submit" name="submit" value="Login" class="knapp" style="margin-top: 1%;" />
</form>
<br>
Har du ikke en bruker enda?
<form action="register.php" method="get">
<input type="submit" name="register" value="Registrer">
</form>
<?php
} else {
require_once("db_const.php");
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
# check connection
if ($mysqli->connect_errno) {
echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
exit();
}
$username = $_POST['username'];
$password = $_POST['password'];
$_SESSION['username'] = $username;
$sql = "SELECT * from users WHERE username LIKE '{$username}' AND password LIKE '{$password}' LIMIT 1";
$result = $mysqli->query($sql);
if (!$result->num_rows == 1) {
echo "Invalid username/password combination";
} else {
echo "<i>Du har logget inn som ";
echo $_POST['username'];
echo "</i>";
?>
<br>
<form action="index.php" method="get">
<input type="submit" name="on" value="Logg ut">
</form>
<?php
function onFfunc(){
session_destroy();
}
if(isset($_GET['on'])) {
onFfunc();
}
}
}
?>
</div>
</div>
</div>
</div>
<div id="left">
<?php
include "fusion/upload/news.php";
?>
</div>
</div>
<div class="footer"><div class="footerText">
<b><?php
$klan = fopen("klan.txt", "r") or die("En error har oppstått!!");
echo fread($klan,filesize("klan.txt"));
fclose($klan);
?></b> Bedwars Clan | GommeHD & PvPHeroes<br>
Copyright © 2017 | Coded by Thesevs
</div></div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
var showHeaderAt = 150;
var win = $(window),
body = $('body');
// Show the fixed header only on larger screen devices
if(win.width() > 600){
// When we scroll more than 150px down, we set the
// "fixed" class on the body element.
win.on('scroll', function(e){
if(win.scrollTop() > showHeaderAt) {
body.addClass('fixed');
}
else {
body.removeClass('fixed');
}
});
}
});
</script>
</center>
</body>
</html>
my members.php
<?php
session_start();
$_SESSION['username'] = $username;
if(isset($_SESSION['username'])){
?>
<!DOCTYPE html>
<!-- HTML5 Boilerplate -->
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
<!--Import Google Icon Font-->
<link href="http://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link type="text/css" rel="stylesheet" href="css/materialize.min.css" media="screen,projection"/>
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta charset="utf-8">
<!-- Always force latest IE rendering engine & Chrome Frame -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title><?php
$klan = fopen("klan.txt", "r") or die("En error har oppstått!!");
echo fread($klan,filesize("klan.txt"));
fclose($klan);
?></title>
<meta name="description" content="This is the Responsive Grid System, a quick, easy and flexible way to create a responsive web site.">
<meta name="keywords" content="responsive, grid, system, web design">
<meta name="author" content="www.grahamrobertsonmiller.co.uk">
<meta http-equiv="cleartype" content="on">
<link rel="shortcut icon" href="/favicon.ico">
<!-- Responsive and mobile friendly stuff -->
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Stylesheets -->
<link rel="stylesheet" href="css/html5reset.css" media="all">
<link rel="stylesheet" href="css/col.css" media="all">
<link rel="stylesheet" href="css/2cols.css" media="all">
<style type="text/css">
/*
========================
- Note: These styles are just to pretty the basic page up a bit.
You should ignore these when copying and pasting into your site
because your stylesheet should take care of making it look pretty!
========================
*/
body { padding:2em; font : 100%/1.4 'Roboto Condensed', Helvetica, sans-serif;
}
h1 { font-size:2.2em; padding:0 0 .5em 0; }
h2 { font-size:1.5em; }
.header { padding:1em 0; }
.col { background: black; color: white; padding: 1% 0; text-align: center;}
</style>
<link rel="stylesheet" href="demo.css">
<link rel="stylesheet" href="header-fixed.css">
<link rel="stylesheet" type="text/css" href="css/style.css">
<link href='http://fonts.googleapis.com/css?family=Cookie' rel='stylesheet' type='text/css'>
<link href="http://fonts.googleapis.com/css?family=Roboto+Condensed:400,300,700" rel="stylesheet" type="text/css">
</head>
<body>
<header class="header-fixed">
<div class="header-limiter">
<h1><a href="#"><?php
$klan = fopen("klan.txt", "r") or die("En error har oppstått!!");
echo fread($klan,filesize("klan.txt"));
fclose($klan);
?></a></h1>
<nav>
<?php
$navigasjon = fopen("navigasjon.txt", "r") or die("En error har oppstått!!");
echo fread($navigasjon,filesize("navigasjon.txt"));
fclose($navigasjon);
?>
</nav>
</div>
</header>
<!-- You need this element to prevent the content of the page from jumping up -->
<div class="header-fixed-placeholder"></div>
<div class="headbanner">
<center>
<div class="headBannerText">
<?php
$klan = fopen("klan.txt", "r") or die("En error har oppstått!!");
echo fread($klan,filesize("klan.txt"));
fclose($klan);
?></center>
</div>
</div>
<div class="infonav">
<div class="infonavText">
<center>
<i><div style="float: left;">Teamspeak 3: <?php
$teamspeak = fopen("teamspeak.txt", "r") or die("En error har oppstått!!");
echo fread($teamspeak,filesize("teamspeak.txt"));
fclose($teamspeak);
?></div></i>
<i><div style="float: right;"><span id="demo"></span> <span id="txt"></span></div></i>
<div style="width: 60%;"><marquee behavior="scroll" direction="right"><?php
$infonavb = fopen("infonavb.txt", "r") or die("En error har oppstått!!");
echo fread($infonavb,filesize("infonavb.txt"));
fclose($infonavb);
?></marquee></div>
</center>
</div>
</div>
<script>
var day;
switch (new Date().getDay()) {
case 0:
day = "Søndag";
break;
case 1:
day = "Mandag";
break;
case 2:
day = "Tirsdag";
break;
case 3:
day = "Onsdag";
break;
case 4:
day = "Torsdag";
break;
case 5:
day = "Fredag";
break;
case 6:
day = "Lørdag";
}
document.getElementById("demo").innerHTML = day;
</script>
<!-- HEADER SLUTTER HER -->
<center>
<br><br>
<div id="wrapper">
<div id="right">
<div class="parent">
<div class="main">
<p>Månedens klanspillere</p>
<div class="content" style="font-size: 19px;">
<?php
$topspiller = fopen("topspiller.txt", "r") or die("En error har oppstått!!");
echo fread($topspiller,filesize("topspiller.txt"));
fclose($topspiller);
?>
<style>
.list-group {
padding-left: 0;
margin-bottom: 15px;
}
.list-group-item {
position: relative;
display: block;
padding: 7px 0px;
background-color: #fff;
border: 1px solid #ddd;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
margin: auto;
}
.badge {
float: right;
min-width: 10px;
margin-right: 2%;
padding: 3px 5px;
font-size: 12px;
font-weight: 700;
line-height: 1;
color: #fff;
text-align: center;
white-space: nowrap;
vertical-align: middle;
background-color: #777;
border-radius: 10px;
}
</style>
</div>
</div>
</div>
<div class="parent">
<div class="main">
<p>Klan Info</p>
<div class="content">
<?php
$klaninfo = fopen("klaninfo.txt", "r") or die("En error har oppstått!!");
echo fread($klaninfo,filesize("klaninfo.txt"));
fclose($klaninfo);
?>
</div>
</div>
</div>
</div>
<div id="left">
<?php
$stab = fopen("stab.txt", "r") or die("En error har oppstått!!");
echo fread($stab,filesize("stab.txt"));
fclose($stab);
?>
</div>
</div>
<div class="footer"><div class="footerText">
<b><?php
$klan = fopen("klan.txt", "r") or die("En error har oppstått!!");
echo fread($klan,filesize("klan.txt"));
fclose($klan);
?></b> Bedwars Clan | GommeHD & PvPHeroes<br>
Copyright © 2017 | Coded by Thesevs
</div></div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
var showHeaderAt = 150;
var win = $(window),
body = $('body');
// Show the fixed header only on larger screen devices
if(win.width() > 600){
// When we scroll more than 150px down, we set the
// "fixed" class on the body element.
win.on('scroll', function(e){
if(win.scrollTop() > showHeaderAt) {
body.addClass('fixed');
}
else {
body.removeClass('fixed');
}
});
}
});
</script>
</center>
</body>
</html>
<?php
} else{
header("Location: index.php");
}
?>
But this is still not working, what am i doing wrong?
Upvotes: 1
Views: 68
Reputation: 73
First you need to set a session on login with the following code:
session_start();
Then with $_SESSION
you can check if the user got a session and is logged in.
If(isset($_SESSION)){
//loged in code
} else{
//other code
}
assing a session variable:
$_SESSION['mySessionName'] = "yourvalue";
than you could check if it is set with
if(isset($_SESSION['mySessionName']))
(from Richard in comments)
For more information about sessions go to http://php.net/manual/en/book.session.php
hope this helped
Upvotes: 1
Reputation: 327
You would want to use PHP Sessions.
Once you log in, you start a session.
There is a super global $_SESSION. You could save your session data to this.
This is persistent and will stay intact until you unregister your variables or end your session.
One common mistake a beginner would do is forget the session_start() method.
To use session super global, you must call the session_start() function.
From my understanding, you seem to be a beginner with sessions. You would want to check PHP Sessions on w3schools.com. But make sure you move on to something else as soon as you get some basic understanding about what sessions are.
Hope this helps!
Upvotes: 1