---
title: "Sessions fråga"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/106003-sessions-fråga"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Dwarfen"
published: "2004-06-22T19:09:55.000Z"
updated: "2004-06-22T20:44:07.000Z"
replies: 14
views: 343
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/106003-sessions-fråga"
---

# Sessions fråga

## #1 — Dwarfen, 2004-06-22T19:09Z

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');

}

?>
```

Permalänk: https://www.webforum.nu/p/106003

## #2 — Pedda, 2004-06-22T19:13Z

Ja, den borde skriva ut värdet.
Ge oss mer kod så kanske vi kan se felet.

Permalänk: https://www.webforum.nu/p/1371140

## #3 — Dwarfen, 2004-06-22T19:16Z

Ioggin.php

```
<?php
session_start();

if(isset($_SESSION['username'])) { 
    	echo $_SESSION['username'];
	echo '<A HREF="loggout.php">Loggout</A>';
} else { 
	echo '<form method="post" action="\login\kontroll.php" size="0">
	Användare: <input name="username" size="10"><BR>
	Lösenord:  <input type="password" name="password" size="10">
	<input type="submit" value="Login">
	</FORM>';
}
?>
```

Kontroll sidan

```
<?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');

}

?>
```

Och slutligen "check" sidan

```
<?
session_start();

if(isset($_SESSION['username'])) { 
    	echo $_SESSION['username'];
        echo $_SESSION['status'];
	echo '<BR><A HREF="?page=utloggning">logga ut</A>';

} else { 
	echo '';
}
?>
```

Så, det skall vara all kod.

Permalänk: https://www.webforum.nu/p/1371142

## #4 — Pedda, 2004-06-22T19:16Z

Du har inte gett $status något värde.
$status = row\[x\]

Permalänk: https://www.webforum.nu/p/1371143

## #5 — Dwarfen, 2004-06-22T19:17Z

Men hallå?
Ge ett värde?
Förklara?
Om jag ger den ett värde så får väl alla samma som loggar in?

Permalänk: https://www.webforum.nu/p/1371144

## #6 — Pedda, 2004-06-22T19:35Z

Re: Sessions fråga

> **Dwarfen skrev:**
>
> Inne i databasen har jag själv angivit siffror: 1 eller 2, beroende på rättigheterna så klart...

Du måste tilldela $status värdet från databasen, annars finns det ju inget att skriva ut.

Permalänk: https://www.webforum.nu/p/1371147

## #7 — Dwarfen, 2004-06-22T19:39Z

Så jag skall alltså ge värdet på sessionen Status på genom att sätta 

```
$_SESSION['sess_status'] = 0);
```

Iså fall förstår jag inte, för det funkar inte =(

Permalänk: https://www.webforum.nu/p/1371152

## #8 — tydal, 2004-06-22T20:06Z

Förmodligen menar du:

$\_SESSION\['status'\] = $objRS\['status'\];

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 :-)

Permalänk: https://www.webforum.nu/p/1371162

## #9 — Dwarfen, 2004-06-22T20:18Z

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.

Permalänk: https://www.webforum.nu/p/1371166

## #10 — tydal, 2004-06-22T20:22Z

Aha, du menar i ett formulärfält på sidan innan som användaren har postat?

I så fall blir det:

$\_SESSION\['status'\] = $\_POST\['status'\];

Fast det låter ju inte så bra om användaren själv får välja sin status? :-/

Permalänk: https://www.webforum.nu/p/1371168

## #11 — Dwarfen, 2004-06-22T20:31Z

Får nog ta det från början så jag förstår med.

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?

Permalänk: https://www.webforum.nu/p/1371172

## #12 — tydal, 2004-06-22T20:36Z

Ja, då var det som jag skrev från början, förutsatt då att du har kallat värdet för 'status' även i databasen.

Permalänk: https://www.webforum.nu/p/1371177

## #13 — Dwarfen, 2004-06-22T20:39Z

Wohii!!!!
Det funkar jU!!!
Tack som fan ! Tydal!
2-2 In nordic game!

Permalänk: https://www.webforum.nu/p/1371182

## #14 — Pedda, 2004-06-22T20:40Z

Var tvungen att gå och kolla på fotbollen. :) 
Bra att tydal kunde ta över och förklara för dig.

Permalänk: https://www.webforum.nu/p/1371184

## #15 — Dwarfen, 2004-06-22T20:44Z

Hehe =)
Ingen fara =)
Tack för din hjälp också.

Permalänk: https://www.webforum.nu/p/1371192

---

Tråden på webben: https://www.webforum.nu/amne/php/106003-sessions-fråga
