08. april 2002 - 09:16Der er
38 kommentarer og 2 løsninger
Javascript, database mm
Hej eksperter. Jeg er stødt på et lille problem på min side angående en bestillingsliste.
Jeg vidste ikke helt hvor spørgsmålet hører til da det vist både omhandler JS og DB.
Jeg har en masse sider med en masse priser hvorpå man skal kunne klikke på prisen, uden at forlade siden. Det er så meningen det beløb man har klikket på skal overføres til en anden side som her hedder liste.asp.
Men siden skal ikke vises før man klikker på bestilling.
Kan det gøres uden en database? Det ville jeg helt sikkert foretrække. Men jeg kan ikke hitte ud af det.
Hvis du bruger ASP, kommer du ikke uden om filen global.asa Den kan f.eks. indeholde alle de variabler, der initiatileres, når selve den ASP starter og alle de variabler, der hører til den enkelte kunde. Hvis f.eks. 10 mennesker er på på samme tid, så deles de om variablerne i Application_OnStart. Man kan også via global.asa lave en logfil, som skrives til hver gang en bruger kommer på. Active Server Pages fra Wrox kan varmt anbefales.
puha boris, jeg er slet slet ikke inde i alt det der du snakker om. Jeg kender kun en smule til asp, og mine sider hedder det KUN fordi jeg bruger en masse include filer. Så din snak er fuldstændig sort for mig.
Kan du ikke skrive et eksempel på hvad jeg skal skrive som link på de tal der skal overføres?
Jeg kan give dig et eksempel på en side jeg har fundet, hvor du kan se helt hvad det er jeg forsøger at lave. på www.bolsjeriet.dk har de under vare og prisliste noget i den stil jeg gerne vil ha.
Umiddelbart ser det ud som om, at de gemmer alle oplysningerne på en side, som er åben hele tiden, ved hjælp af javascript, samt at de kun bruger ASP til at sende E-mail fra formen med...
Det kan godt være, det må jeg indrømme jeg ikke har nogen idé om :)
De bruger altså ikke nogen DB? Kan det ikke gøres så den side det gemmes på ikke er åben før man går ind på den? Eller er det så det du snakker om med det der global.asa?
Nu har jeg ikke læst alt igennem, men det ser simpelthen ud til, at resultatet af bestillingen samles og afsendes som E-mail fra en form. Og så er alt færdigt, slut, glemt. Der er ikke noget i vejen for, at du også kan lave en rammeside med nogle faste variabler, som bliver beregnet udervejs og til sidst afsendt pr. E-mail. Dertil behøver du hverken en database eller ASP. (E-mailen kan sendes via et færdigt ASP eller CGI-script, som mange servere har.) Et lille eksempel på en side, der beregner, kan du se i en gammel datanom-opgave: http://www.totalhuse.subnet.dk
Men nu er jeg da nået så langt til at forstå at jeg ikke behøver en DB.
Det du skriver, at det hele samles i en e-mail, som bliver tilsendt kunden, samt sælger. Jeg kender emailfunktionen i asp, men hvordan jeg får det samlet deri ved jeg ikke.
Jeg har ledt lidt på nogle sider hvor mankan hente koder, men jeg kan ikke rigtigt finde noget i den stil.
Det forudsætter et vist kendskab til programmering og ellers bare en smule html og kreativitet. Jeg har ikke læst alt på siden, så det er med forbehold for, at der kan være noget jeg har overset. Det kan gøres mere enkelt. jeg ville nok gøre sådan: 1) Erklære et antal variabler i javascript på en side, som hele tiden er åben. De bliver stående, indtil brugeren lukker siden ned. 2) Opdatere variablerne med det, som kunden vælger, f.eks. er prisen lige med prisen+nytkøb. Måske gemme de enkelte køb som objekter. 3) Vise varekurven ved at udskrive nogle af variablerne 4) Sende det hele i en e-mail som tekstfelter, når kunden godkender. Felterne indeholder navn, E-mail, adresse, købte varer og også gerne IP-nummer. IDG har udgivet en udmærket bog af Michael Moncur, som hedder JAVASCRIPTBOGEN. Du burde egentlig kunne finde det meste der, bortset fra din ASP mail.
Det er freeware. Der er en downloadside og brugsanvisning og du er velkommen til at bruge den blot du ikke fjerner hans "dette script er lavet af ..." notits der står i det der skal indsættes i diden.
jakoba, har du en åben telefonlinje da? HAHA, ment som at jeg har mindst en million spørgsmål. Aldrig har jeg slået så meget op i alle mine bøger som jeg i forvejen ikke kender overhovedet. Men ok, det skal jo læres det programmering der hvis man skal have en hjemmeside går jeg ud fra ;)
Mit første problem, er faktisk at jeg ikke rigtigt har noget "plads" til den ramme det kræves, altså den hvor indkøbene vises. Kan man ikke lave den som en pop op side?
Ok, i får lige hele linjen. For det første ved jeg ikke hvad den første linje betyder, for det andet hvor skal de her ting sættes ind?
Startværdier for varekurven skal angives som separate parametre i samme fil, som varekurv.js er indsat i. Følgende parametre kan angives i henhold til nærværende beskrivelse:
<SCRIPT TYPE="text/javascript">
// erklæring af salgsparametre ;
maxVarer = 0; // maxVarer angiver max. antal af varenumre, som kan bestilles. ; // Sættes maxVarer=0 er der ingen øvre grænse. ;
bundgebyr = 50.00; // Ekspedition og porto for fremsendelse af bestilte varer ; // såfremt det samlede varebeløb er under gebyrgrænsen "limit". ;
topgebyr = 25.00; // Ekspedition og porto for fremsendelse af bestilte varer ; // såfremt det samlede varebeløb er over gebyrgrænsen "limit". ;
limit = 500; // Gebyr ændres, hvis det samlede varebeløb overskrider denne grænse. ; // Sættes limit=0 er der ingen øvre grænse ; // - evt. gebyr bestemmes med topgebyr ;
portoAdminTekst = 'Fragt og administration'; // Tekstangivelsen som påføres varekurvens punkt for porto og ; // administration / ekspedition. ; // Kan sættes som '' (tom) hvorved portofeltet ikke vises i udskriften. ; // Hvis parametren udelades bliver teksten: "Porto og ekspedition". ;
betalingsForm = new Array('Efterkrav',50,'Via bank',0,'Dankort',0,'radio'); // Bestemmelse af, hvilke forsendelsesformer der kan tilbydes. ; // Angives med 'Tekst til udskrift',tillægsbeløb - antal efter behov. ; // Afsluttes med 'radio' eller 'select' - afhængig af presentationsform. ; // Som standard anvendes 'radio' knapper. ; // Denne parameter kan udelades helt, hvis ikke der er brug for den. ;
betalingsVisning = ''; // angiver om de opsatte betalingsmuligheder skal vises ved udskrift ; // af varekurven: '' er standard men kan ændres med 'select' eller 'radio' ; // sættes værdien til 'ingen', vil der ikke blive vist betalingsformer ;
ordreNummer = 'auto,-'; // Automatisk generering af et tilnærmelsesvis unikt ordrenummer. ; // Værdien kan sættes til 'ingen', 'auto', 'kort' eller helt udelades ; // - er parametren indsat vil ordrenummer fremstå af ordren. ; // ordreNummer genereres af en "tilfældighedstilstand" baseret på tidspunkt. ; // Værdien efter (,) er separatoren og undlades denne anvendes (-). ; // Sættes ordreNummer = 'auto,' anvendes ingen separator i ordrenummeret. ;
momsSats = 0; // Indsættes med den procentmæssige angivelse af momsen såfremt der skal ; // tillægges moms i det samlede beløb. Parametren kan udelades. ;
rabatSats = 0; // Indsættes med den procentmæssige angivelse af rabat såfremt der skal ; // fratrækkes rabat for hvert enkelt varepunkt. Parametren kan udelades. ; // Parametren kan styres fra login via database, hvor rabatsats kan hentes. ;
rammeSti = 'parent'; // Angiver rammestien til varekurven set relativt til indeværende ; // initialiseringsparametre. Sættes til 'parent' eller anden absolut/relativ ; // angivelse, hvis der arbejdes i rammesæt og 'window', ved brug af cookies. ;
brugCookie = 0; // Angiver brug af Cookies. Er som standard sat til 0 og ; // sættes til 1 ved anvendelse af Cookies. ; // Parametren kan udelades, hvis der anvendes rammesæt ;
Du laver en frameset fil a la: <html> <head> <script> // her indsætter du scriptet. </script> <frameset rows="100%,*"> <frame src="dinindgangsside.html"> </frameset> </html>
Og så ligger scriptet der i framesetfilen og samler data sammen mens brugeren surfer rund og skifter side i den ramme så tosset han vil. På en side bestiller han et par skistøvler, på en andet en nathue, osv. Og tilsidst klikker han hen på 'send bestillig' siden hvor han får listet alle indkøbene og måske ikke besvimer over hvad det løb op til. kik på www.dytbtt.com der er det lavet på den måde.
Der er plads til alle de sider du gider lave, de vises blot een ad gangen og allesammen inde i det der frameset.
Hvis du allerede har et frameset sætter du scriptet ind i det. Bare husk at du må ikke loade nyt frameset før kunden er færdig og har sendt sin bestillig. Hvis du gør glemmer scriptet alle data (det bliver hentet ind igen og starter forfra).
Jeg er i fuld gang med at forsøge. Men fortæl mig lige, hvor skal jeg have den ramme der kaldes varekurv?? Jeg har simpelthen ikke plads til den. Kan jeg ikke loade den i et nyt vindu?
Jeg mener, på begge sider, når man klikker på en vare, vises varekurven i en ramme. Men jeg kan ikke rigtig finde plads til den ramme nogle steder, så ødelægger den jo menuerne. Men det er vist et luksus problem tror jeg.
Ahh. Det er blot en htmlside der hentes ind i en af de rammer du har. Koden på lige den side lister alle de varer der efterhånden er bestilt. (Den vises da ikke samtidig med en af bestillingssiderne gør den?)
Jo, den vises mens man bestiller, og den ændre sig hver gang man bestiller noget mere, men det er lige meget. Jeg har fundet ud af man bare kan lade være med at vise siden, så kan folk godt nok kun se deres bestilling når de klikker på bestilling. Men det må de leve med :)
En mindre detalje, hvordan får jeg den til at bruge mit style? Når den viser indkøbskurven, er det med sort skrift, og bruger ikke mit style som resten af siden, med grøn skrift.
umiddelbart ville jeg sige: Ved at lave en <link type='text/css' src='dinstyle.css'> i head, men det har du nok allerede sat ind. har du siden på net så man kan kikke?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.