Sitter här och försöker göra användare med olika rättigheter.
Men det blir fel när jag skall hämta dem ur databasen.
Så här har jag gjort för att skapa en session med rättigheterna
$_SESSION['status'] = $status;
Inne i databasen har jag själv angivit siffror: 1 eller 2, beroende på rättigheterna så klart...
Men varför ser jag inte detta när jag skriver?
echo $_SESSION['status'];
Jag tycker att den borde skriva ut värdet som ligger i tabellen.
Eller?
//edit//
Hela min kod för lösenordskontrollen
<?php
session_start();
$username = '';
$password = '';
$dbName = '';
mysql_connect('localhost', $username, $password) or die (mysql_error());
mysql_select_db($dbName) or die (schyse());
// Skapar variablar
$username = $_POST['username'];
$password = $_POST['password'];
// Öppnar SQL frågan och sätter username = form-value och password = form-value
$SQL = mysql_query("SELECT * FROM login where username = '$username' AND password = '$password'") or die (mysql_error());
$objRS = mysql_fetch_array($SQL);
// Kollar om användaren finns i databasen, om han finns skapas alla Sessioner osv...
if (mysql_num_rows($SQL) <> 0) {
// Skapar sessioner och allt va du vill göra för den specifika användaren
$_SESSION['status'] = $status;
$_SESSION['online'] = 1;
$_SESSION['username'] = $username;
// Skickar tillbaka användaren om allt gått okej
Header ('Location: /index.php');
} else {
// Skickar tillbaka användaren om han el. hon skrivit något fel
Header ('Location:login.php');
}
?>
<?php
session_start();
$username = 'r';
$password = '';
$dbName = '';
mysql_connect('localhost', $username, $password) or die (mysql_error());
mysql_select_db($dbName) or die (schyse());
// Skapar variablar
$username = $_POST['username'];
$password = $_POST['password'];
// Öppnar SQL frågan och sätter username = form-value och password = form-value
$SQL = mysql_query("SELECT * FROM login where username = '$username' AND password = '$password'") or die (mysql_error());
$objRS = mysql_fetch_array($SQL);
// Kollar om användaren finns i databasen, om han finns skapas alla Sessioner osv...
if (mysql_num_rows($SQL) <> 0) {
// Skapar sessioner och allt va du vill göra för den specifika användaren
$_SESSION['status'] = $status;
$_SESSION['online'] = 1;
$_SESSION['username'] = $username;
// Skickar tillbaka användaren om allt gått okej
Header ('Location: /index.php');
} else {
// Skickar tillbaka användaren om han el. hon skrivit något fel
Header ('Location:login.php');
}
?>
Men det är bara en kvalificerad gissning, så om det inte är vad du har tänkt dig undrar jag vad det är du vill ska sparas i sessionen? Du vill att någon slags status ska sparas där, men vadå för status? Var kommer den ifrån?
I koden du har skrivit finns ingen status. Den kommer rakt från tomma intet, och då blir det ju inget när man skriver ut den :-)
I själva fältet status finns det en siffra, det är den som jag vill ska hämtas.
Sedan skall siffran användas i en if sats för att slussa användaren till en sida som han har rättighet att vara i.
Alltså.
På sidan som kontrollerar om man har skrivit in rätt nuffror (kontroll.php)
Så skapas ju en session för user
$_SESSION['username']
.
Och samtidigt så vill jag att det skall skapas en ['status'] session.
Vars värde (en siffra: t.ex 1 eller 2) skall hämtas ur en databas och bakas in i sessionen.
Detta värde skall sedan kunna hämtas ur sessionen för att skicka personen rätt.
Hänger du med?