webForumDet fria alternativet

Varför strular sessionen?

10 svar · 544 visningar · startad av silfver

silfverMedlem sedan apr. 200312 679 inlägg
#1

Jag har ett loginscript till en nyhetssida. Jag använder samma script i tre olika mappar på samma server. Jag antar att alla tre skapar samma slags kakor. Men nu börjar ett felmeddelande dyka upp:

Fatal error: session_start(): Failed to initialize storage module: user (path: /tmp) in /www.silfver.se/ on line 37

Vad betyder det? På rad 37 står det:

	(rad 37) session_start ();
	if (empty ($_SESSION["SESSION_USER"])) {
		$username = $_REQUEST["username"];
		$password = $_REQUEST["password"];
		if ($username != $config["admin_username"] || $password != $config["admin_password"]) {
			print_admin_header ();
			print_admin_login ((empty ($username) && empty ($password)) ? "Please Login." : "Incorrect Username or Password.");
			print_admin_footer ();
			exit;
		} else {
			$_SESSION["SESSION_USER"] = $config["admin_username"];
		}
	}
}

Det räcker med att man uppdaterar sidan ett par gånger så försvinner felmeddelandet och allt fungerar om vanligt. Men det är jobbigt när det sker precis efter att man postat ett inlägg. Någon som vet vad det betyder?

Mvh,
silfver

SteadyMedlem sedan dec. 2004225 inlägg
#2

Ligger session_start(); högst upp på sidan?
Pröva att ta bort mellanrummet mellan start och ();

silfverMedlem sedan apr. 200312 679 inlägg
#3

Steady skrev:

Ligger session_start(); högst upp på sidan?
Pröva att ta bort mellanrummet mellan start och ();

Rad 37? :D Det gjorde ingen skillnad att ta bort mellanrummet.

SteadyMedlem sedan dec. 2004225 inlägg
#4

Aha! ;) Nu är det ju annandag och hälften av Sveriges befolkning var ute och festade igår, även jag.
Men session_start(); måste ligga överst på sidan!

silfverMedlem sedan apr. 200312 679 inlägg
#5

Steady skrev:

Aha! ;) Nu är det ju annandag och hälften av Sveriges befolkning var ute och festade igår, även jag.
Men session_start(); måste ligga överst på sidan!

Inte om man är hemma och är förkyld! :l

Men är du säker på att session_start måste ligga överst? Jag inkluderar filen i en annan. Och detta har aldrig strulat förr. Det har ju nåt med temp-grejen att göra? Vill gärna inte börja möblera om i scriptet, eftersom det inte är jag som gjort det.

SteadyMedlem sedan dec. 2004225 inlägg
#6

Jag citerar Matte

Matte skrev:

Du måste ha session_start() innan du kallar på en sessionsvariabel. Lämpligt är att lägga den överst på sidan.

<?php
session_start();

Före session_start() får det inte finnas någon "output" till webbläsaren. Det innebär att du får inte ha någon HTML-kod före session_start(). Ett mellanslag eller radbrytning före PHP-taggen resulterar också i en output, och naturligtvis också echo eller print.

Du kan läsa mer här: http://www.phpportalen.net/wiki/index.php?page=Sessioner+i+PHP

silfverMedlem sedan apr. 200312 679 inlägg
#7

Får samma meddelande fortfarande. Så här ser koden ut som numer ligger överst:

<?php
// ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
// Admin Functions
// ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

// ----------------------------------------------------------------------
// Authenticate User

function admin_login () {
	global $config;
(rad 12)	session_start ();
...

Fatal error: session_start(): Failed to initialize storage module: user (path: /tmp) in /www.silfver.se/ on line 12

Jag tror ändå det har något med att jag har samma script på tre ställen. :p

sebbzMedlem sedan juli 2000297 inlägg
silfverMedlem sedan apr. 200312 679 inlägg
#9

Jag mailade min serveradmin och bad honom ta en titt på det. Antagligen kan han lösa det. Så det spelar ingen roll hur min kod var uppbyggd. :) Som sebbz skrev så är det någon bugg det rör sig om.

SteadyMedlem sedan dec. 2004225 inlägg
#10

Nej inte det här fallet, men svårt att veta. :)
God fortsättning på dig iallafall!

silfverMedlem sedan apr. 200312 679 inlägg
#11

Steady skrev:

Nej inte det här fallet, men svårt att veta. :)
God fortsättning på dig iallafall!

Nej, det är ju så klart. :) Tack det samma! :bire

134 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)