Behöver hjälp med html/javascript spara values

Permalänk
Medlem

Behöver hjälp med html/javascript spara values

Hej

Jo det är så att jag suttit flera lektioner nu och försökt förstå vad jag måste skriva för att få det att funka.

Såhär ligger det till:
Jag har totalt 6 html sidor.

På första sidan finns en drop-down meny med olika butiker ( Man väljer 1)
Sida 2 har en JA-radio och en NEJ-radio
Sida 3 har en drop-down meny med 2 olika typer av CPU-tillverkare
Sida 4 har 2 "radios". Grafikkortstillverkare
Sida 5 har 3 "radios. (hdd,ssd eller dvd-läsare)- man klickar i det man vill ha
Sida 6 har en drop-down med olika budget (7000,8000,9000)

På varje sida finns det en "nästa" knapp som tar en vidare till nästa sida. förutom på sista sidan då det finns en "klar" knapp

Det jag vill göra:
Jag vill veta hur man kan sparar det som blir valt.
Exempel:
sida 1: inet
sida 2: ja
sida 3: intel
sida 4: amd
sida 5: hårddisk och dvd-läsare
sida 6: 8000 kr

Sen när man trycker på "Klar" så ska man tas vidare till en kundvagn hos vald butik , beroende på vad man valt. Om man väljer andra saker så ska man tas vidare till en annan kundvagn osv.

Ska det vara någon slags if-sats på sista sidan?
Eller måste jag hålla på med php?
Eller kan man slå ihop alla på en sida? det verkar lättare då

Om något är oklart så fråga mig

Visa signatur

Intel Core i5 2500k@4.3 Ghz | ASUS P8Z68-V PRO GEN3 | Antec Kuhler 620 | Corsair Vengeance 8GB | ASUS GTX 560 TI | 1 TB Seagate | Samsung 830 128 GB | Corsair TX650w| Fractal Design Define R3 | Logitech G35 | Logitech G500 | Sidewinder X4 |

Permalänk
Skrivet av xeno95:

Hej

Jo det är så att jag suttit flera lektioner nu och försökt förstå vad jag måste skriva för att få det att funka.

Såhär ligger det till:
Jag har totalt 6 html sidor.

På första sidan finns en drop-down meny med olika butiker ( Man väljer 1)
Sida 2 har en JA-radio och en NEJ-radio
Sida 3 har en drop-down meny med 2 olika typer av CPU-tillverkare
Sida 4 har 2 "radios". Grafikkortstillverkare
Sida 5 har 3 "radios. (hdd,ssd eller dvd-läsare)- man klickar i det man vill ha
Sida 6 har en drop-down med olika budget (7000,8000,9000)

På varje sida finns det en "nästa" knapp som tar en vidare till nästa sida. förutom på sista sidan då det finns en "klar" knapp

Det jag vill göra:
Jag vill veta hur man kan sparar det som blir valt.
Exempel:
sida 1: inet
sida 2: ja
sida 3: intel
sida 4: amd
sida 5: hårddisk och dvd-läsare
sida 6: 8000 kr

Sen när man trycker på "Klar" så ska man tas vidare till en kundvagn hos vald butik , beroende på vad man valt. Om man väljer andra saker så ska man tas vidare till en annan kundvagn osv.

Ska det vara någon slags if-sats på sista sidan?
Eller måste jag hålla på med php?
Eller kan man slå ihop alla på en sida? det verkar lättare då

Om något är oklart så fråga mig

Det normala, och klart enklaste är att använda något server-sidespråk. PHP är ett av de populäraste. Det är dock tekniskt möjligt att skicka med värdena i querystring med hjälp av javascript, men förr eller senare måste ju ändå "ordern" sparas, och då behövs det en databas, så då måste du ändå använda PHP eller liknande.

Permalänk
Medlem

Då det hela uppenbarligen går ut på att du ska lära dig hur man gör, så ber jag dig att fråga din handledare/lärare om hjälp istället. Det är det handledare/lärare är till för.

För övrigt finns det ofantligt många olika sätt att lösa problemet, så inget konkret svar kan ges utan kännedom om de exakta kriterier som gäller för uppgiften.

Visa signatur

5950X, 3090

Permalänk
Medlem
Skrivet av infinity08:

Det normala, och klart enklaste är att använda något server-sidespråk. PHP är ett av de populäraste. Det är dock tekniskt möjligt att skicka med värdena i querystring med hjälp av javascript, men förr eller senare måste ju ändå "ordern" sparas, och då behövs det en databas, så då måste du ändå använda PHP eller liknande.

Om jag har alla valbara saker på samma sida då?
Sen när man trycker Klar så kollar den igenom vad som är valt och går på så sätt vidare till en kundvagn?

Visa signatur

Intel Core i5 2500k@4.3 Ghz | ASUS P8Z68-V PRO GEN3 | Antec Kuhler 620 | Corsair Vengeance 8GB | ASUS GTX 560 TI | 1 TB Seagate | Samsung 830 128 GB | Corsair TX650w| Fractal Design Define R3 | Logitech G35 | Logitech G500 | Sidewinder X4 |

Permalänk
Medlem
Skrivet av backfeed:

Då det hela uppenbarligen går ut på att du ska lära dig hur man gör, så ber jag dig att fråga din handledare/lärare om hjälp istället. Det är det handledare/lärare är till för.

Det är bara det att han själv inte vet

Visa signatur

Intel Core i5 2500k@4.3 Ghz | ASUS P8Z68-V PRO GEN3 | Antec Kuhler 620 | Corsair Vengeance 8GB | ASUS GTX 560 TI | 1 TB Seagate | Samsung 830 128 GB | Corsair TX650w| Fractal Design Define R3 | Logitech G35 | Logitech G500 | Sidewinder X4 |

Permalänk
Medlem
Skrivet av xeno95:

Det är bara det att han själv inte vet

Skamligt. Hur är det då tänkt att någon ska kunna lösa uppgiften?

Visa signatur

5950X, 3090

Permalänk
Medlem
Skrivet av backfeed:

Skamligt. Hur är det då tänkt att någon ska kunna lösa uppgiften?

Det är ett valfritt arbete
Man ska skapa en hemsida till en viss målgrupp

Visa signatur

Intel Core i5 2500k@4.3 Ghz | ASUS P8Z68-V PRO GEN3 | Antec Kuhler 620 | Corsair Vengeance 8GB | ASUS GTX 560 TI | 1 TB Seagate | Samsung 830 128 GB | Corsair TX650w| Fractal Design Define R3 | Logitech G35 | Logitech G500 | Sidewinder X4 |

Permalänk
Skrivet av xeno95:

Om jag har alla valbara saker på samma sida då?
Sen när man trycker Klar så kollar den igenom vad som är valt och går på så sätt vidare till en kundvagn?

Ja, det är självklart bättre att samla alla alternativ på en sida. Då använder du helt enkelt ett formulär med metoden POST. För att sedan hämta värdena på den mottagande PHP-sidan gör du såhär: (väldigt förenklat)

Sida 1 (HTML)

<form method='post' action='order.php'> <select name='selButik'> <option value='komplett'>Komplett</option> <option value='inet'>inet</option> <option value='webhallen'>Webhallen</option> </select> .... alla dina andra val </form>

Mottagarsidan (PHP)

$butik = $_POST['selButik']; echo "Du valde butiken $butik"; // Spara ordern ....

Permalänk
Medlem
Skrivet av infinity08:

Ja, det är självklart bättre att samla alla alternativ på en sida. Då använder du helt enkelt ett formulär med metoden POST. För att sedan hämta värdena på den mottagande PHP-sidan gör du såhär: (väldigt förenklat)

Sida 1 (HTML)

<form method='post' action='order.php'> <select name='selButik'> <option value='komplett'>Komplett</option> <option value='inet'>inet</option> <option value='webhallen'>Webhallen</option> </select> .... alla dina andra val </form>

Mottagarsidan (PHP)

$butik = $_POST['selButik']; echo "Du valde butiken $butik"; // Spara ordern ....

Tack
Om jag fattar det rätt så kollar $butik = $_post vilket värde som är valt?

Hur gör jag sen då när alla värden är samlade och jag vill gå till en viss kundvagn som är baserat på dom värden jag valt?

Visa signatur

Intel Core i5 2500k@4.3 Ghz | ASUS P8Z68-V PRO GEN3 | Antec Kuhler 620 | Corsair Vengeance 8GB | ASUS GTX 560 TI | 1 TB Seagate | Samsung 830 128 GB | Corsair TX650w| Fractal Design Define R3 | Logitech G35 | Logitech G500 | Sidewinder X4 |

Permalänk
Skrivet av xeno95:

Tack
Om jag fattar det rätt så kollar $butik = $_post vilket värde som är valt?

Mja, det sätter variabeln $butik till det värde som är valt på elementet:
$minvariabel = $_POST['namnetpåmittelement'];

Skrivet av xeno95:

Hur gör jag sen då när alla värden är samlade och jag vill gå till en viss kundvagn som är baserat på dom värden jag valt?

Det finns inget som heter "kundvagn" inom programmering. Man får koda den själv, precis som man vill. Vanligtvis sparar man valda artiklar i en $_SESSION, så att man kan navigera runt på sidan fritt utan att servern glömmer bort vad du valt. När du sedan klickar på betala så sparas ordern i en databas, vilket är en permanent lagring. Men jag vet inte riktigt vad du tänkt dig, eftersom man ska kunna välja butik i ditt fall - du har alltså inte tänkt göra en egen butik? Om du postar till en existerande butiks sida kommer du inte ha någon kontroll på vart du skickas efter det.

Permalänk
Medlem
Skrivet av infinity08:

Mja, det sätter variabeln $butik till det värde som är valt på elementet:
$minvariabel = $_POST['namnetpåmittelement'];

Det finns inget som heter "kundvagn" inom programmering. Man får koda den själv, precis som man vill. Vanligtvis sparar man valda artiklar i en $_SESSION, så att man kan navigera runt på sidan fritt utan att servern glömmer bort vad du valt. När du sedan klickar på betala så sparas ordern i en databas, vilket är en permanent lagring. Men jag vet inte riktigt vad du tänkt dig, eftersom man ska kunna välja butik i ditt fall - du har alltså inte tänkt göra en egen butik? Om du postar till en existerande butiks sida kommer du inte ha någon kontroll på vart du skickas efter det.

Jag ska inte göra något webbshop
Jag har tänkt göra en sida där man väljer vad man vill ha till sin nya dator , så får man upp en färdig kundvagn med komponenter på inet eller någon annan butik

Visa signatur

Intel Core i5 2500k@4.3 Ghz | ASUS P8Z68-V PRO GEN3 | Antec Kuhler 620 | Corsair Vengeance 8GB | ASUS GTX 560 TI | 1 TB Seagate | Samsung 830 128 GB | Corsair TX650w| Fractal Design Define R3 | Logitech G35 | Logitech G500 | Sidewinder X4 |

Permalänk

Är det inte smidigare att ha alla frågorna på en och samma sida?
Ser inte poängen med att ha varje fråga på en ny sida.
Spara värdena i JavaScript är inte alls svårt, frågan är hur du tänkt lösa det med att få valda produkter i en kundvagn hos vald webbshop?

Får man fråga vad det är för kurs du läser?
Hoppas det är en gymnasiekurs och inte högskola/universitet.

Permalänk
Medlem
Skrivet av mel0dy:

Är det inte smidigare att ha alla frågorna på en och samma sida?
Ser inte poängen med att ha varje fråga på en ny sida.
Spara värdena i JavaScript är inte alls svårt, frågan är hur du tänkt lösa det med att få valda produkter i en kundvagn hos vald webbshop?

Får man fråga vad det är för kurs du läser?
Hoppas det är en gymnasiekurs och inte högskola/universitet.

Ja det är gymnasiet.
Läs gärna vad andra sagt innan

Hade tänkt mig typ

if
intel
amd
osv.

så ska den gå till inet.se/kundvagn/blablabla

Visa signatur

Intel Core i5 2500k@4.3 Ghz | ASUS P8Z68-V PRO GEN3 | Antec Kuhler 620 | Corsair Vengeance 8GB | ASUS GTX 560 TI | 1 TB Seagate | Samsung 830 128 GB | Corsair TX650w| Fractal Design Define R3 | Logitech G35 | Logitech G500 | Sidewinder X4 |

Permalänk
Medlem
Skrivet av xeno95:

Om jag har alla valbara saker på samma sida då?
Sen när man trycker Klar så kollar den igenom vad som är valt och går på så sätt vidare till en kundvagn?

Det blir minst jobb om du har alla val på en sida och sedan bara processar dessa på sidan efter med antagligen IF och ELSE IF.
Sedan om du skall skicka vidare till vald butik med en färdig kundvagn med de valda produkterna är väll det det jobbigaste i detta att klicka runt till alla butiker och sätta ihop kundvagnar för alla olika alternativ du skapat. Eller har jag fattat fel?

Visa signatur

FreeNAS 3U | 8GB | 2x2x3TB ProxMox i7-8700K | 32GB Desktop Dell 22" | Benq 22" | i5-smth | 16GB | Intel 520 120GB | 500GB | Arch

Permalänk
Medlem
Skrivet av atriix:

Det blir minst jobb om du har alla val på en sida och sedan bara processar dessa på sidan efter med antagligen IF och ELSE IF.
Sedan om du skall skicka vidare till vald butik med en färdig kundvagn med de valda produkterna är väll det det jobbigaste i detta att klicka runt till alla butiker och sätta ihop kundvagnar för alla olika alternativ du skapat. Eller har jag fattat fel?

Nejdå , har man inget och göra så sätter man ihop en kundvagn inga problem för mig

Visa signatur

Intel Core i5 2500k@4.3 Ghz | ASUS P8Z68-V PRO GEN3 | Antec Kuhler 620 | Corsair Vengeance 8GB | ASUS GTX 560 TI | 1 TB Seagate | Samsung 830 128 GB | Corsair TX650w| Fractal Design Define R3 | Logitech G35 | Logitech G500 | Sidewinder X4 |

Permalänk
Skrivet av xeno95:

Nejdå , har man inget och göra så sätter man ihop en kundvagn inga problem för mig

Det är väl tekniskt möjligt om än väldigt krångligt. Du måste ta reda på hur alla webshopars kundvagnar fungerar, och när användaren valt ett objekt på din sida måste du ha ett javascript som anropar deras "lägga-i-kundvagnen"-funktion. I kompletts fall verkar det vara ett formulär som ska postas. Detta får du göra genom någon dold iframe på din sida, och när alla objekt är tillagda i kundvagnen kan du göra en redirect till webshopens kassa.

Så, det är väl möjligt men en hel del krångel. Om jag var du kanske jag skulle börja med något lite enklare först

Permalänk
Medlem
Skrivet av infinity08:

Det är väl tekniskt möjligt om än väldigt krångligt. Du måste ta reda på hur alla webshopars kundvagnar fungerar, och när användaren valt ett objekt på din sida måste du ha ett javascript som anropar deras "lägga-i-kundvagnen"-funktion. I kompletts fall verkar det vara ett formulär som ska postas. Detta får du göra genom någon dold iframe på din sida, och när alla objekt är tillagda i kundvagnen kan du göra en redirect till webshopens kassa.

Så, det är väl möjligt men en hel del krångel. Om jag var du kanske jag skulle börja med något lite enklare först

känns som ni missförstår mig , eller så vill jag göra något som inte är möjligt.

Såhär tänker jag

Butik: Inet
Windows 7: Nej
CPU: Intel
GPU: Nvidia
Tillval: SSD och DVD-läsare
Budget: 9000

När man då trycker på "Klar" så ska man tas vidare till detta:
http://www.inet.se/kundvagn/visa/1729807/2012-04-25

ELLER
Butik: Inet
Windows 7: Ja
CPU: AMD
GPU: AMD
Tillval: HDD
Budget: 7000

Klar= http://www.inet.se/kundvagn/visa/1729819/2012-04-25

Är det inte möjligt?

Visa signatur

Intel Core i5 2500k@4.3 Ghz | ASUS P8Z68-V PRO GEN3 | Antec Kuhler 620 | Corsair Vengeance 8GB | ASUS GTX 560 TI | 1 TB Seagate | Samsung 830 128 GB | Corsair TX650w| Fractal Design Define R3 | Logitech G35 | Logitech G500 | Sidewinder X4 |

Permalänk
Skrivet av xeno95:

känns som ni missförstår mig , eller så vill jag göra något som inte är möjligt.

Såhär tänker jag

Butik: Inet
Windows 7: Nej
CPU: Intel
GPU: Nvidia
Tillval: SSD och DVD-läsare
Budget: 9000

När man då trycker på "Klar" så ska man tas vidare till detta:
http://www.inet.se/kundvagn/visa/1729807/2012-04-25

ELLER
Butik: Inet
Windows 7: Ja
CPU: AMD
GPU: AMD
Tillval: HDD
Budget: 7000

Klar= http://www.inet.se/kundvagn/visa/1729819/2012-04-25

Är det inte möjligt?

Du menar att du vill sitta och göra alla inköpslistor manuellt i förväg? Ja, det är såklart möjligt och bra mycket lättare rent tekniskt. Men beroende på hur många alternativ man ska välja mellan desto fler inköpslistor måste du göra. Tänk även på att det inte är alla webshopar som erbjuder möjligheten att dela inköpslistor, samt att de förmodligen tas bort efter ett tag. Och att produkter kan försvinna ur sortimentet. Kommer bli fruktansvärt mycket jobb att sätta ihop och hålla reda på alla listor.

Om du vill göra det ändå rekommenderar jag att du håller det väldigt simpelt, bara ha ett par enstaka färdiga paket.

Permalänk
Medlem
Skrivet av infinity08:

Du menar att du vill sitta och göra alla inköpslistor manuellt i förväg? Ja, det är såklart möjligt och bra mycket lättare rent tekniskt. Men beroende på hur många alternativ man ska välja mellan desto fler inköpslistor måste du göra. Tänk även på att det inte är alla webshopar som erbjuder möjligheten att dela inköpslistor, samt att de förmodligen tas bort efter ett tag. Och att produkter kan försvinna ur sortimentet. Kommer bli fruktansvärt mycket jobb att sätta ihop och hålla reda på alla listor.

Om du vill göra det ändå rekommenderar jag att du håller det väldigt simpelt, bara ha ett par enstaka färdiga paket.

Jag vill bara att det ska fungera så jag kan visa läraren
Om jag vill fortsätta med detta så kommer jag givetvis uppdatera

Visa signatur

Intel Core i5 2500k@4.3 Ghz | ASUS P8Z68-V PRO GEN3 | Antec Kuhler 620 | Corsair Vengeance 8GB | ASUS GTX 560 TI | 1 TB Seagate | Samsung 830 128 GB | Corsair TX650w| Fractal Design Define R3 | Logitech G35 | Logitech G500 | Sidewinder X4 |

Permalänk
Skrivet av xeno95:

Jag vill bara att det ska fungera så jag kan visa läraren
Om jag vill fortsätta med detta så kommer jag givetvis uppdatera

Ok, jag skulle nog isåfall göra en lösning där varje val symboliseras av ett värde:

Val 1 (butik):
0. inet
1. komplett
3. webhallen
osv.

Val 2 (cpu):
0. AMD
1. Intel

Val 3 (gpu):
0. AMD
1. Nvidia

Val 4 (budget):
0. 4000
1. 7000
2. 10000
3. 15000
4. No limit

Efter att användaren valt alla alternativ kommer du få en rad värden på denna form (tex):
0-1-1-2

Då kan du ha en lista med dina inköpslistor på samma form:
0-0-0-0 => länk lista 1
0-0-0-1 => länk lista 2
0-0-0-2 => länk lista 3
0-0-0-3 => länk lista 4
....
3-1-1-4 => länk lista x

Som du ser kommer det bli ett väldigt stort antal listor även med bara ett fåtal alternativ. Men det är nog isåfall det bästa sättet att lösa det såvida du inte vill göra kundkorgarna dynamiskt som jag föreslog tidigare.

Permalänk
Medlem
Skrivet av infinity08:

Ok, jag skulle nog isåfall göra en lösning där varje val symboliseras av ett värde:

Val 1 (butik):
0. inet
1. komplett
3. webhallen
osv.

Val 2 (cpu):
0. AMD
1. Intel

Val 3 (gpu):
0. AMD
1. Nvidia

Val 4 (budget):
0. 4000
1. 7000
2. 10000
3. 15000
4. No limit

Efter att användaren valt alla alternativ kommer du få en rad värden på denna form (tex):
0-1-1-2

Då kan du ha en lista med dina inköpslistor på samma form:
0-0-0-0 => länk lista 1
0-0-0-1 => länk lista 2
0-0-0-2 => länk lista 3
0-0-0-3 => länk lista 4
....
3-1-1-4 => länk lista x

Som du ser kommer det bli ett väldigt stort antal listor även med bara ett fåtal alternativ. Men det är nog isåfall det bästa sättet att lösa det såvida du inte vill göra kundkorgarna dynamiskt som jag föreslog tidigare.

Men det gör inget , har hela maj på mig att bli klar Borde jag ha tex. en IF value=0-0-0-0 then gå till inet.se/kundvagn? eller hur ska koden se ut

Visa signatur

Intel Core i5 2500k@4.3 Ghz | ASUS P8Z68-V PRO GEN3 | Antec Kuhler 620 | Corsair Vengeance 8GB | ASUS GTX 560 TI | 1 TB Seagate | Samsung 830 128 GB | Corsair TX650w| Fractal Design Define R3 | Logitech G35 | Logitech G500 | Sidewinder X4 |

Permalänk
Medlem
Skrivet av xeno95:

Tack
Om jag fattar det rätt så kollar $butik = $_post vilket värde som är valt?

Hur gör jag sen då när alla värden är samlade och jag vill gå till en viss kundvagn som är baserat på dom värden jag valt?

Lär dig dock ifrån början att ALDRIG lita på user input. Att ta ett värde från en post och skriva ut den direkt öppnar upp din applikation för alla möjliga attackvektorer. Får du data från en post som du vill presentera så se till att validera och escapea den innan du skriver ut den.

I exemplet som presenterades ovan kan man exempelvis lätt posta ett javascript som du sedan kommer skriva ut på sidan och exekvera.

Visa signatur

Gigabyte Aorus Master | 32gb DDR4 3466MHZ CL14 | Ryzen 3950X | 3080Ti
En lång rad Intel system som barnen fått som speldatorer, VR-dator, massa bärbara, servrar, RPi's och andra boxar :P

Permalänk
Skrivet av xeno95:

Men det gör inget , har hela maj på mig att bli klar Borde jag ha tex. en IF value=0-0-0-0 then gå till inet.se/kundvagn? eller hur ska koden se ut

Finns såklart flera sätt att lösa det. If-sats skulle funka men bli opraktiskt. Bättre då med en switch(); En annan variant vore att lägga alla listona i en array som du sedan söker igenom när du har dina värden.

Skrivet av inquam:

Lär dig dock ifrån början att ALDRIG lita på user input. Att ta ett värde från en post och skriva ut den direkt öppnar upp din applikation för alla möjliga attackvektorer. Får du data från en post som du vill presentera så se till att validera och escapea den innan du skriver ut den.

I exemplet som presenterades ovan kan man exempelvis lätt posta ett javascript som du sedan kommer skriva ut på sidan och exekvera.

Självklart ska man säkra all in-data, men jag ville vara pedagogisk och hålla det så simpelt som möjligt iom. att TS aldrig verkar ha kodat PHP.

Permalänk
Medlem
Skrivet av xeno95:

Tack
Om jag fattar det rätt så kollar $butik = $_post vilket värde som är valt?

Hur gör jag sen då när alla värden är samlade och jag vill gå till en viss kundvagn som är baserat på dom värden jag valt?

Skrivet av infinity08:

Finns såklart flera sätt att lösa det. If-sats skulle funka men bli opraktiskt. Bättre då med en switch(); En annan variant vore att lägga alla listona i en array som du sedan söker igenom när du har dina värden.

Självklart ska man säkra all in-data, men jag ville vara pedagogisk och hålla det så simpelt som möjligt iom. att TS aldrig verkar ha kodat PHP.

Förstod att detta var din tanke. Men jag ville understryka att man tjänar på att börja tänka i dessa banor DIREKT. I stället för att anpassa hur man kodar till det efteråt.

Visa signatur

Gigabyte Aorus Master | 32gb DDR4 3466MHZ CL14 | Ryzen 3950X | 3080Ti
En lång rad Intel system som barnen fått som speldatorer, VR-dator, massa bärbara, servrar, RPi's och andra boxar :P