mister mine sessions

dundasen

Medlem
Hei!
sitter her å lager et login script i php noe jeg har gjort flere ganger tidligere..men denne gangen fungerer det ikke slik det skal(tror jeg).
jeg validerer inn data opp mot database og dersom inndata stemmer så blir personen sendt videre til loggetinn.php ved hjelp av header("Location: loggetinn.php");
men når jeg kommer dit er alle mine session data borte.

Alle sidene har session_start() helt i toppen heller ingen whitespace der.
har også testet med meta redirect, samme problem der.
har surfet runt uten å finne et svar på problemet

Noen vært borte i dette problemet før?

koden min ser slik ut:

if( $resultat==1 )
{
header("Location: loggetinn.php");
}
else
{
exit ();
}
 

kek91

Webutvikler
Dersom dette er hele koden din, så er det jo ikke så rart. Du lager ikke noen sessions, derfor er det ingen sessions å hente :)

Prøv
PHP:
if( $resultat==1 )
{
session_start();
$_SESSION['username'] = "testesen";
header("Location: loggetinn.php");
}
else
{
exit ();
}

Når du nå blir videreført til loggetinn.php så vil $_SESSION['username'] si testesen
 

dundasen

Medlem
Okay, kan vi få se litt mer av koden?
Da blir det muligens litt lettere å skjønne hvor problemet kan være :)


På toppen av denne siden har jeg også session_start(); og include ("sessions.php");


// Koble til database
mysql_connect('localhost','xxxxt','xxxxxxx') or die("ikke kontakt med databasen");
// velge database
mysql_select_db ("brukere") or die ("finner ikke Database") ;
// spørre database / hente info
$info = mysql_query ("SELECT brukernavn FROM bruker WHERE brukernavn='$_SESSION[bruker]' AND passord='$_SESSION[passord]';") or die("Query failed");

$resultat = mysql_num_rows($info);

$s_id2 = $s_id;

if( $resultat==1 )
{
header("Location loggetinn.php");
}
else
{
exit ();
}
 

kek91

Webutvikler
Okay, jeg tror problemet ligger i $_SESSION [bruker] og [passord].
Prøv å skriv $_SESSION['bruker'] og ['passord'] - legg merke til de ekstra '

koden blir da:
PHP:
$info = mysql_query ("SELECT brukernavn FROM bruker WHERE brukernavn='$_SESSION['bruker']' AND passord='$_SESSION['passord']';") or die("Query failed");
 

dundasen

Medlem
hmm testet det nå,funker forsatt ikke.
det jeg har funnet andre steder av fixes er å kjøre exit(); rett etter redirect
også session_register føre..heller ikke det har fungert ;/

Mulig det er noe i php.ini som er galt?

session.auto_start Off Off
session.bug_compat_42 Off Off
session.bug_compat_warn Off Off
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 5 5
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /var/lib/php5 /var/lib/php5
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies On On
session.use_trans_sid 0 0
 

dundasen

Medlem
jeg fant svaret på problemet!
problemet var at jeg hadde satt sessions = POST variablene
i sessions filen min
jeg gjorde det om slik at sessions blir satt etter at scriptet har verifisert at brukeren har riktig inndata..dum feil to be honest men det er vell gjerne de man bruker mye tid på å finne svar på? :p
 
Topp