webForumDet fria alternativet

Problem sätta session

2 svar · 141 visningar · startad av Pedda

PeddaMedlem sedan juni 20004 880 inlägg
#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";
?>
K@llenMedlem sedan mars 20032 654 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; 
}
PeddaMedlem sedan juni 20004 880 inlägg
#3

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

356 ms totalt · 5 externa anrop · cache AV · v20260730165559-full.0b955084
0 ms — hämta statistik (cache)
119 ms — slå upp tråd (db)
0 ms — hämta forumlista (cache)
120 ms — hämta inlägg (db)
115 ms — hämta bilagor (db)