AaddewebMedlem sedan jan. 2004216 inlägg Jag håller på och gör iordning ett profilformulär som egentligen är uppdelat i 9 st delformulär med 2-3 rutor i varje och knappar "Nästa >>" som ersätts av en "Spara"-knapp när man kommer till sista delformuläret. Jag använder också hidden-fält mellan de olika delformulärena för att värdena ska kunna följa med till sista formuläret. Utöver dessa har jag för delformulär 2 lagt in ett antal checkboxar med rubriker som hämtar värden från databasen. Det finns också en separat funktion för att skapa, ändra eller ta bort checkboxarnas rubriker. Ny rubrik eller borttag gör att antalet checkboxar ändras automatiskt. Om jag låter checkboxarna med rubriker listas med while-loop i delformulär 2, innebär det alltså att hidden-fälten som tar emot värdena från checkboxarna i nästa delformulär måste listas på samma sätt, detsamma gäller också följande delformulär. Värdena från checkboxarna lagras i vektor som t.ex <input type="checkbox" name="cid[]" value="'.$value.'" />.
Jag har valt att dela alla rutor i flera delformulär för att slippa ha alla rutor i ett enda formulär och använda rullningslisten. Ett sätt att förbättra användarvänligheten så att användaren slipper böka med alla rutor på en sida. Finns det något bättre lösning än den här som jag har åstadkommit?? Kanske borde jag lägga checkboxarna i sista delformuläret istället för att slippa upprepning men då blir det en annan ordningsföljd jämförd med den färdiga profilen.
Någon som har en idé??
AaddewebMedlem sedan jan. 2004216 inlägg Ingen som har någon idé till förbättring ännu?
Nåja, inget att gräma över. Det lutar nog att jag väljer att lägga in en implode-sats som tar emot värden från markerade checkboxar i delformuläret 2. Dessa värden separerade med komma-tecken förs vidare som hidden-fält till det sista och 9:e delformuläret och sparandet.
oHLLeMedlem sedan nov. 2002302 inläggKan du inte spara allt i $_SESSION istället så att du sliper ha massa hidden-fält?
Om du inte har koll på hur du använder sessioner så kan du kolla igenom den här guiden http://www.phpfreaks.com/tutorials/41/0.php
AaddewebMedlem sedan jan. 2004216 inlägg Nja, så långt har jag inte kommit men jag använder faktiskt inloggning med sessioner för användarnamn och id till olika operationer. Är fortfarande lite osäker på sessioner.
Det skulle då alltså bli många postvariabler från de olika delformulärena och som ska läggas in i en array först för att sedan läggas in i en session? Jag har istället valt att bygga på med 2-3 ytterligare hidden-fält efter varje delformulär. Kan man lägga in i sessionen på ungefär samma sätt?
oHLLeMedlem sedan nov. 2002302 inläggDu kan ha en array i session som du lägger in alla dina sparade värden i. Typ något sånt här
//Först en tom array, endast en gång på första formulärsidan
$_SESSION['userdata']=array();
//när du får ett värde du ska lägga in så lägger du in det i arrayen
$_SESSION['userdata['name']']=value;
Glöm inte bort session_start(); först i varje php-fil bara
Jag är inte helt hundra på att det där funkar, men det borde göra det...
AaddewebMedlem sedan jan. 2004216 inlägg Tack, jag ska prova med session till profilformuläret. När man har kommit till sista delformuläret och sparat genom att lägga in i databasen med antingen insert och update, måste man också stänga av denna session efteråt? Kanske självklart men jag frågar ändå.
Jag använder 2 olika profil-formulärer, den ena för att skapa ny profil och den andra för uppdatering. Nästa gång användaren öppnar sin profil, görs en koll om denne har fyllt i någon profil. Finns det någon profil, då körs update, annars insert.
AaddewebMedlem sedan jan. 2004216 inlägg Lite förbryllad över satsen...
$_SESSION['userdata['name']']=value;
Man ska väl skriva istället?
$_SESSION['userdata']['name'] = value;
oHLLeMedlem sedan nov. 2002302 inlägg
addeweb skrev:
Tack, jag ska prova med session till profilformuläret. När man har kommit till sista delformuläret och sparat genom att lägga in i databasen med antingen insert och update, måste man också stänga av denna session efteråt? Kanske självklart men jag frågar ändå.
Du behöver inte, datan försvinner så småningom. Använder du sessionen till inloggning kan du ju inte stänga den för då försvinner ju inloggningsdatan
addeweb skrev:
Lite förbryllad över satsen...
$_SESSION['userdata['name']']=value;
Man ska väl skriva istället?
$_SESSION['userdata']['name'] = value;
Jo du har rätt. Man kan inte ens skriva på första sättet...
AaddewebMedlem sedan jan. 2004216 inlägg Att lägga in olika värden i sessionen fungerar nu helt bra. Det som jag inte behövde göra är att skapa en tom array till sessionen eftersom det redan finns en array i sessionen. Jag såg till också att lägga till tre olika session_register(sessionname) överst eftersom jag förutom användarsessionen använder 3 olika sessioner: ena för själva profilen, den andra för instruktörer och och den tredje för ersättare. Håller på att göra iordning interna sidor åt ett friskvårdsföretag. Tack för hjälpen!