webForumDet fria alternativet
Logga in / Bli medlem

Problem sätta session

PHP

2 svar · 141 visningar · startad av Pedda

Medlem sedan juni 20006 031 inlägg
Trådstart#1

Har problem med att sätta session. Jag ser inte vad jag gjort fel, men förhoppningsvis så ser nån av er det. ;)

if($_POST['submit']){ 	
$sql = "SELECT id FROM admin WHERE user='{$_POST['user']}' AND pass='{$_POST['pass']}'"; 
$result = mysql_query($sql); 
// Kolla om namn och lösen stämmer, annars tillbaks till login
if (mysql_num_rows($result) == 0) { 
	header("Location: login.php?bad="); 
	exit; 
} 
// Namn och lösenord stämde, sätt sessionen
$_SESSION['session_id'] = mysql_result($result, 0); 
$_SESSION['session_user'] = $_POST['user']; 
	header("Location: start.php"); 
	exit; 
}

Scriptet kollar och godkänner namn o lösenord, men verkar inte sätta någon session.

start.php

<?php 
session_start(); // Alltid överst på sidan 
// Kolla om inloggad, annars till login.php
if (!isset($_SESSION['session_user'])){ 
	header("Location: login.php?login="); 
  	exit; 
}

// Inloggad. Visa sidan.
echo "Du är inloggad";
?>
Medlem sedan mars 20032 667 inlägg
#2

Re: Problem sätta session

Pedda skrev:

Har problem med att sätta session. Jag ser inte vad jag gjort fel, men förhoppningsvis så ser nån av er det. ;)

if($_POST['submit']){ 	
$sql = "SELECT id FROM admin WHERE user='{$_POST['user']}' AND pass='{$_POST['pass']}'"; 
$result = mysql_query($sql); 
// Kolla om namn och lösen stämmer, annars tillbaks till login
if (mysql_num_rows($result) == 0) { 
	header("Location: login.php?bad="); 
	exit; 
} 
// Namn och lösenord stämde, sätt sessionen
$_SESSION['session_id'] = mysql_result($result, 0); 
$_SESSION['session_user'] = $_POST['user']; 
	header("Location: start.php"); 
	exit; 
}

Scriptet kollar och godkänner namn o lösenord, men verkar inte sätta någon session.

start.php

<?php 
session_start(); // Alltid överst på sidan 
// Kolla om inloggad, annars till login.php
if (!isset($_SESSION['session_user'])){ 
	header("Location: login.php?login="); 
  	exit; 
}

// Inloggad. Visa sidan.
echo "Du är inloggad";
?>

Lade till det fetnmarkerade:

[b]session_start();[/b]
if($_POST['submit']){ 	
$sql = "SELECT id FROM admin WHERE user='{$_POST['user']}' AND pass='{$_POST['pass']}'"; 
$result = mysql_query($sql); 
// Kolla om namn och lösen stämmer, annars tillbaks till login
if (mysql_num_rows($result) == 0) { 
	header("Location: login.php?bad="); 
	exit; 
} 
// Namn och lösenord stämde, sätt sessionen
$_SESSION['session_id'] = mysql_result($result, 0); 
$_SESSION['session_user'] = $_POST['user']; 
  [b] session_register("session_id, session_user");[/b]
	header("Location: start.php"); 
	exit; 
}
Medlem sedan juni 20006 031 inlägg
#3

Självklart, hade ju glömt session_register :r

255 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)