FAQ |
Kalender |
2011-01-21, 18:37 | #1 | ||
|
|||
Nykomling
|
Hej,
Jag kom inte riktigt på någon bra rubrik, men tror den beskriver ganska bra. Jag håller på och kodar en sida där jag har formulär, det man fyller i skickas med $_POST. Det som är grejen är att det är 4 steg med formulär. 4 olika PHP filer. Jag vill alltså ta med mig värdet från steg 1 till steg 4 på ett bra och säkert sätt. Det man kan göra är att lägga in gömda (hidden) inputs. Men möjligheten finns då för den som kan att ändra värdet (value) i den gömda inputen. Ett annat sätt jag kommit på är att göra en Session med informationen. Nu undrar jag om ni har någon idé hur ni hade gjort. Har jag missat någon bra funktion man kan ha användning av? Hoppas ni förstod. Tack på förhand! |
||
Svara med citat |
2011-01-21, 18:49 | #2 | |||
|
||||
Medlem
|
Citat:
|
|||
Svara med citat |
2011-01-21, 20:00 | #3 | ||
|
|||
Medlem
|
Jag skulle förmodligen använda mig utav sessions, det är ett smidigt sätt att skicka information mellan olika filer. Beroende på hur formuläret ser ut så skulle du kunna använda dig av $_GET också men då kan man ju ändra värdena genom URL:en.
|
||
Svara med citat |
2011-01-21, 20:20 | #4 | |||
|
||||
Bara ett inlägg till!
|
Citat:
|
|||
Svara med citat |
2011-01-21, 20:20 | #5 | ||
|
|||
Supermoderator
|
Citat:
Instämmer i kören, är bra för statistik och studier av användarnas beteende.
__________________
Full-stack developer, free for smaller assignments |
||
Svara med citat |
2011-01-21, 20:50 | #6 | ||
|
|||
Nykomling
|
Okej då tar jag och använder sessions. Stort tack för snabba svar.
|
||
Svara med citat |
2011-01-21, 21:38 | #7 | ||
|
|||
Har WN som tidsfördriv
|
Sessions är klart det bästa, du kan få en liten kodsnutt här, kanske hjälper dig.
Att placera längst ned på sidan: <? $_SESSION[serialized] = base64_encode(serialize($unserialized_array_init)) ; ?> Placera höst upp: $unserialized = unserialize(base64_decode($_SESSION[serialized])); if (is_array($unserialized) == FALSE && is_array($_POST[firstform]) == TRUE) { $unserialized_array_init = $_POST[firstform]; } elseif (is_array($unserialized) == TRUE && is_array($_POST[firstform]) == TRUE) { $unserialized_array_init = $_POST[firstform] + $unserialized ; } else { $unserialized_array_init = $unserialized ; } Firstform är bara namnet på min form, använder alltid arrays i forms. Du kan alltså använda unserialized_array_init[ArrayFormNamn] i ditt script sen för att hämta data oavsett vilket "steg" man befinner sig i. Denna "lägger bara till" data. Går säkert att göra på enklare sätt också. |
||
Svara med citat |
2011-01-22, 11:04 | #8 | |||
|
||||
Mycket flitig postare
|
Om ni använder sessioner: hur löser ni problemen som kan uppstå när/om användaren öppnar två flikar med samma sida och fyller i formuläret parallellt?
|
|||
Svara med citat |
2011-01-22, 11:06 | #9 | |||
|
||||
Medlem
|
Finns det någon anledning att man skulle vilja skriva in två samtidigt? Annars kan man väl sätta en boolvariabel som kollar så man inte fyller i formuläret, annars ploppar det upp ett felmeddelande.
|
|||
Svara med citat |
2011-01-22, 15:27 | #10 | ||
|
|||
Har WN som tidsfördriv
|
Citat:
Det går ju också att lägga in en RANDOM så att det blir olika sessions. Typ input type=text name=Form[RAND()][FirstName] |
||
Svara med citat |
Svara |
|
|