WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Urval i MySQL baserat på en kaka (https://www.wn.se/forum/showthread.php?t=1810)

Trinity 2004-03-15 12:26

Tack vare Er är mitt lilla projekt snart klart =)

Men, nu vill jag att en sida som kunden "studsar förbi" (under sin inloggning) ska sätta en cookie:
<?
$kaknr = 25 ;

setcookie("kaknr", $kaknr, time ()+15000, "/");

?>

Så långt funkar det... Sen ska kunden komma till en annan sida, och där ska $kaknr användas för att välja ut just den kundens grejer i databasen så han slipper se alla andra kunders uppgifter. Jag har försökt med följande, som jag lusläst och jag tycker det verkar som om det skulle vara helt rätt, men variabeln $kaknr sätts aldrig om till värdet av cookien... (Jag börjar med att nollställa värdet i variabeln, för att man inte ska kunna gå rakt in på denna sida och kunna lista all information om man inte har någon kaka)

function list_items() {
global $PHP_SELF;

$kaknr = 0;

if ( isset($HTTP_COOKIE_VARS["kaknr"]) )
$kaknr = $HTTP_COOKIE_VARS ["kaknr"];

$sql = "SELECT * FROM tidsed WHERE pronr='$kaknr' ORDER BY dat DESC";
if ( !($result = mysql_query($sql)) ) {
die('Kan inte lista inlägg i databasen! ' . mysql_error() . ' : ' . mysql_errno());
}

Den som inte visste det sedan mina tidigare inlägg (eller märker det här), bör få veta att jag för nån vecka sedan aldrig sett en PHP-kod, så please, förmoda inte att jag ska förstå nåt uppenbart =)

David 2004-03-15 12:29

Jag brukar göra
Kod:

echo $sql
för att se att strängen ser korrekt ut. Gör den det så prova att kopiera den och köra den direkt mot databasen och se vilket felmeddelande du får.

Trinity 2004-03-15 12:38

Mmm, men det blir inget felmeddelande för det är inget direkt fel på SELECT-satsen förrutom att den kör "... WHERE pronr=0" istället för det värde som är satt i kakan och som jag egentligen vill ha tilldelat variabeln $kaknr vid det laget...

Trinity 2004-03-15 16:06

Snälla... ingen som ser/fattar vad jag har missat...?

Fler detaljer som kanske leder nån vart...
Jag petar in cookien det första som händer på den "första" sidan, för det har ajg för mig att man måste (?).
Men hur är det i så fall när jag ska läsa cookien? Måste det också vara före head-taggarna (eller hur det nu var?).
Måste jag referera till den php-fil som petade in cookien, eller vad? Nånting är ju helt enkelt fel och jag kommer ingen vart... =(

Som sagt, jag är helt grön på php så jag kan mycket väl ha missat nånting fullständigt "självklart" eftersom jag inte har tagit mig tid att läsa in mig på varken grunder, syntax eller nånting, jag har bara kört igång liksom...

David 2004-03-15 16:23

Citat:

Originally posted by Trinity@Mar 15 2004, 10:26
$kaknr = 0;
if ( isset($HTTP_COOKIE_VARS["kaknr"]) )
$kaknr = $HTTP_COOKIE_VARS ["kaknr"];

Eftersom $kaknr är 0 efter det här innebär det att din kaka inte är isset() när den här kodsnutten körs.

Trinity 2004-03-15 18:16

Men om jag tittar i inställningarna i browsern så finns den där, med rätt värde och allt.... åtminstone på sidan innan alltså...

Anders 2004-03-15 21:10

Läst ordentligt i dokumentationen för setcookie()? Prova buta ut $HTTP_COOKIE_VARS mot $_COOKIE.

Citat:

Originally posted by Preserved variables@PHP Documentation
$HTTP_COOKIE_VARS contains the same initial information, but is not an autoglobal. (Note that HTTP_COOKIE_VARS and $_COOKIE are different variables and that PHP handles them as such)
Läs mer:
setcookie()
$_COOKIE

Trinity 2004-03-16 12:51

Hehe... "ReadTheFuckingManual" var ordet =)
Vet du vad lunne82? Det fungerar hur fint som helst med $_COOKIE juh! Supernice, SuperTACK!


Alla tider är GMT +2. Klockan är nu 21:36.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson