webForumDet fria alternativet

Spara till db med sessions - problem

PHP

5 svar · 323 visningar · startad av Skogiz

Medlem sedan feb. 200395 inlägg
Frågan#1

Jag har hämtat data från ett formulär och skapat lite SESSIONS-variabler.

Dock när jag ska ha in det i databasen får jag fel (Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING)

$query = "INSERT INTO matches (seasonid, ligaid, oponentid, round, homeaway, publik)
            VALUES('$_SESSION['season2']', '$_SESSION['serie']', '$_SESSION['oponent']', '$_SESSION['oponent']', '$_SESSION['homeaway']', '$_SESSION['publik']')";

Har jag fel i koden?

Tack på förhand

Medlem sedan jan. 20096 inlägg
#2

Problemet är nog att du deklarerar sessions variablerna direkt.. Gör om sessions variablerna till vanliga variabler innan du skickar dom till databasen det är mycket lättare att jobba med dom sen också då..

$seasonid = $_SESSION['season2'];
$ligaid = '$_SESSION['serie'];
$oponentid = $_SESSION['oponent'];
$round = $_SESSION['oponent'];
$homeaway = $_SESSION['homeaway'];
$publik = $_SESSION['publik'];

$query = "INSERT INTO matches (seasonid, ligaid, oponentid, round, homeaway, publik)
VALUES('$seasonid', '$ligaid', '$oponentid', '$round', '$homeaway', '$publik')";

Lycka till!

Medlem sedan feb. 200395 inlägg
#3

men jag hämtade dom tidigare genom att

$publik = $_POST["publik"];
och sedan
$_SESSIONS['publik'] = $publik;

Ska jag behöva skicka tillbaka dom igen? Känns som väldigt mycket variabeltilldelning fram och tillbaka... går det inte att göra smidigare? :q

Medlem sedan jan. 20096 inlägg
#4

Varför lägger du ens in dom i sessionen?
Det som är osmidigt är att jobba direkt mot sessionen tycker jag iallafall.. Men som svar på din fråga ja det måste du nog :)

Medlem sedan feb. 200395 inlägg
#5

Anledningen var att jag ville ha en sida som visar upp vad jag är på gång att lägga in i databasen, då fick jag tips enligt annan tråd här i forumet att köra med SESSIONS

Men det är kanske bättre att skicka all formulär-data till ett nytt formulär med INPUT TYPE=Hidden?

Medlem sedan mars 20007 896 inlägg
#6

Nej, det är smidigare att använda sessioner när man ska lagra data utanför en roundtrip.

Problemet ligger i när du försöker konkatenera SQL-strängen. Lösning:

$query = "INSERT INTO matches (seasonid, ligaid, oponentid, round, homeaway, publik)
            VALUES('{$_SESSION[season2]}', '{$_SESSION[serie]}', ...

Alternativt:

$query = "INSERT INTO matches (seasonid, ligaid, oponentid, round, homeaway, publik)
            VALUES('" . $_SESSION['season2'] . "', '" . $_SESSION['serie'] . "', ...
257 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)