webForumDet fria alternativet

Kakan existerar inte i övergång till annan mapp.

PHP

1 svar · 271 visningar · startad av Fredde Mannen

Medlem sedan nov. 20014 054 inlägg
Frågan#1

Alltså så irriterande. Den sätter kakan, för om jag kör en utskrift efter att kakan är satt i samma fil som sätter kakan, ja då får jag ett värde.

Men om jag efter ha satt kakan med setcookie, och gör en header location till en annan mapp under samma site, ja då plötsligt är kakan borta.

Det är en Apache2 server med PHP4

koden som gör inloggningen

	// inloggning	
	function dologin() {
		global $config;

		$this->dal = new dal();
		$this->dal->connect();

		// vår sql-sats.

		$sql = "SELECT * FROM bruks_users bu INNER JOIN bruks_userstypes bt ON bt.bruks_userid=bu.bruks_userid WHERE bu.bruks_user='".$_POST['form_user']."' AND bu.bruks_password='".$_POST['form_password']."' AND bt.bruks_typeid='".$_POST['form_rights']."'";
		
		// exekvera sql-sats.
		$this->dal->query($sql);
		// antal berörda poster.
		$num = $this->dal->numrows();

		if(empty($num)) {
			// skicka
			$this->sendto("loginerror");
		} else {
			// skapa kaka för inloggning.
			setcookie("userid",$this->dal->row("bu.bruks_userid",0),time() + $config['cookie_timeout']);
			
			// skicka 
			$this->sendto("admin");
	
		}

		$this->dal->close();
		$this->dal = null;		
	}

$this->sendto("admin") utför en header till admin gränssnittet som ligger under en annan mapp: /admin/

Koden som skall skriva ut värdet (bara för att se om det finns dvs)
// finns på /admin/index.php

 echo $_COOKIE["userid"];

Vad är det som kan orsaka detta?

Medlem sedan nov. 20014 054 inlägg
#2

Men douh!

setcookie("userid",$this->dal->row("bu.bruks_userid",0),time() + $config['cookie_timeout'],"/","","");

Där kom lösningen. :) Hade juh glömt sätta om den skall gälla i hela domänen eller bara i den mappen som den sätts i. höhö

250 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)