Hallo iedereen,
als startend php programmer ben ik zelf alvast wat aan het studeren (opleiding begint pas in september).
Ik kom volgend probleem tegen, ik heb alles reeds tig keer overlopen, maar ik zie niet wat ik fout doe
Wanneer ik "inlog" op de site zou deze mij moeten tonen dat ik ingelogd ben.
In plaats daarvan krijg ik terug het inlogscherm te zien.
Index file:
include file:
login file:
Wanneer ik $_SESSION['user_id'] echo op regel 19 geeft hij wel de correcte user_id weer.
Even zelf verder redeneren:
index.php vernieuwt
function loggedin() word aangeroepen
$_SESSION['user_id'] is set en niet leeg
toch krijg ik een return false waar ik een true verwacht...
Waarschijnlijk iets simpel, maar na 3u zoeken weet ik het echt niet meer.
Alvast bedankt!
als startend php programmer ben ik zelf alvast wat aan het studeren (opleiding begint pas in september).
Ik kom volgend probleem tegen, ik heb alles reeds tig keer overlopen, maar ik zie niet wat ik fout doe

Wanneer ik "inlog" op de site zou deze mij moeten tonen dat ik ingelogd ben.
In plaats daarvan krijg ik terug het inlogscherm te zien.
Index file:
PHP:
<?php
include 'include.php';
require 'connect.php';
if (loggedin()) {
echo "You're logged in";
} else {
include 'login.php';
}
?>
include file:
PHP:
<?php
ob_start();
session_start();
$current_file = $_SERVER['SCRIPT_NAME'];
function loggedin(){
if (isset($_SESSION['user_id'])&&!empty($_SESSION['user_id'])) {
return true;
} else {
return false;
}
}
?>
login file:
PHP:
<?php
require 'connect.php';
if (isset($_POST['uname'])&&isset($_POST['pass'])){
$uname = $_POST['uname'];
$pass = $_POST['pass'];
$pass_hash = md5($pass);
if (!empty($uname)&&!empty($pass)) {
$query = "SELECT `id` FROM `users` WHERE `uname`='$uname' AND `pass`='$pass_hash'";
if ($query_run = mysql_query($query)) {
$query_num_rows = mysql_num_rows($query_run);
if ($query_num_rows == 0) {
echo "Invalid username or password";
} else if ($query_num_rows == 1) {
$user_id = mysql_result($query_run, 0, 'id');
$_SESSION['user_id']=$user_id;
header('location: index.php');
}
}
} else {
echo "You must enter a username and password";
}
}
?>
<h2>Log in/Register</h2>
<form action="login.php" method="post">
Username: <input type="text" name="uname">
Password: <input type="password" name="pass">
<input type="submit" value="Log in">
<a href="register.php">Register</a>
</form>
Wanneer ik $_SESSION['user_id'] echo op regel 19 geeft hij wel de correcte user_id weer.
Even zelf verder redeneren:
index.php vernieuwt
function loggedin() word aangeroepen
$_SESSION['user_id'] is set en niet leeg
toch krijg ik een return false waar ik een true verwacht...
Waarschijnlijk iets simpel, maar na 3u zoeken weet ik het echt niet meer.
Alvast bedankt!