Avatar billede public2 Nybegynder
08. november 2007 - 21:43 Der er 10 kommentarer og
1 løsning

HTML formaterings problemer når jeg skriver i form? (Access)

Hej alle.

Jeg har et underligt problem, som jeg ikke lige kan gennemskue hvorfor opstår, eller rettere, hvorfor ikke opstår.

Tanken er meget enkel: Jeg skal lave en hjemmeside med et front-end og back-end modul; altså en side til brugerne og en administrations side hvor man kan ændre indholdet på front-end siderne.

For at spare plads, for at gøre det simpelt (og for at lære det) har jeg benyttet mig, i begge moduler, af MODE funktionen.

Vi snakker her om en side der har tre sider: forside (default.asp?mode=frontpage) pris (default.asp?mode=price) og Kontakt (default.asp?mode=contact).

Okay, så frem så godt...

Jeg har nu lavet dette på den første side (default.asp?mode=frontpage), så man kan gå ind og rette i den som admin og se den som slutbruger, men men men. Mit problemer opstår så nu. Den får ikke HTML formateringen med, dvs. at jeg i min admin form skriver en tekst i mit dertilhørende textarea, og laver afsnit og den slags, men det bliver ikke vist.

Jeg er ikke helt klar over, om det er admin siden der gemmer forkert eller bruger siden der viser forkert, men i databasen er der i hvert fald ingen "<br>" tags, men der er dog en klar markering når der er linieskift.

Jeg benytter denne kode til at gemme ændringerne i database, set fra administratorens synspunkt:

-----------------------------------------------------------------
<% if mode = "frontpage" then
Dim objRS

Set objRS = OpenDataBase("DATABASE.mdb", "SELECT * FROM TABEL")

if Request.ServerVariables("REQUEST_METHOD") = "POST" then
                                    objRS.update
                                    objRS("FrontPageH1") = Server.HTMLEncode(Request("h1"))
                                    objRS("FrontPageHeadLine") = Server.HTMLEncode(Request("headline"))
                                    objRS("FrontPageMain") = Server.HTMLEncode(Request("main"))   
                                    objRS("FrontPageFooter") = Server.HTMLEncode(Request("footer"))
                                    objRS("FrontPageTitle") = Server.HTMLEncode(Request("title"))
                                    objRS.update
                               
end if

%>
-----------------------------------------------------------------

Og sådan her henter jeg informationerne ud igen på brugerens side:
-----------------------------------------------------------------
<% if mode = "frontpage" then

Dim objRS

Set objRS = OpenDataBase("DATABASE.mdb", "SELECT * FROM TABEL, TABEL2")
%>

<%=objRS("FrontPageMain") %>
-----------------------------------------------------------------

Det er sikkert en enkelt fejl, som jeg har overset eller ikke har tænkt over. Tænker selv på om det kan have noget at gøre med den måde jeg gemmer. For det første bruger jeg "update" funktionen og ikke add. For det andet bruger jeg "Server.HTMLEncode" til at hente informationerne skrevet i de forskellige form felter.

Håber meget har et svar på mit problem, det er utrolig frustrerende ikke at kunne gå videre :-)

På forhånd tak for jeres hjælp
De bedste hilsner
Emil
Avatar billede mini-me Nybegynder
09. november 2007 - 15:41 #1
Har du kun een post i din tabel? For ellers kan det være din SQL streng... da du bare updater på den første linie i din tabel.
Avatar billede mini-me Nybegynder
09. november 2007 - 15:43 #2
Du kan jo evt. tjekke om det du poster giver mening::

if Request.ServerVariables("REQUEST_METHOD") = "POST" then
                                    'objRS.update
                                    response.write(Server.HTMLEncode(Request("h1")))
                                    response.write(Server.HTMLEncode(Request("headline")))
                                    response.write(Server.HTMLEncode(Request("main")))
                                    response.write(Server.HTMLEncode(Request("footer")))
                                    response.write(Server.HTMLEncode(Request("title")))
            '                        objRS.update
           
response.end                 
end if
Avatar billede public2 Nybegynder
11. november 2007 - 12:41 #3
Hej mini-me...

Angående antal post i mine tabeller, så er idéen ja, at der kun skal være én - dvs. at den nye post skal erstatte den forrige. Derfor har jeg også valgt at bruge update frem for add, men det kan jo være, at der er mere i den end som så...

Når jeg prøver en response.write, som du skriver, så udskriver den resultatet, som når jeg lægger den ind i databasen - så noget tyder jo så på - at det er et sted i post processen at der sker ting og sager. Men jeg må blankt indrømme, at jeg ikke kan gennemskue hvad og hvor problemet ligger henne.

Jeg har før lavet den slags database indlæg og udtræk uden disse formaterings problemer, men det kan jo være, at jeg skal prøve at starte helt forfra med koden og se om det hjælper...
Avatar billede mini-me Nybegynder
11. november 2007 - 15:20 #4
H
Avatar billede mini-me Nybegynder
11. november 2007 - 15:22 #5
Hov...

Tjaa umiddelbart kan jeg ikke se hvad det skulle være,


Set objRS = OpenDataBase("DATABASE.mdb", "SELECT * FROM TABEL, TABEL2")


du har ikke en frontPageMain i tabel2 også ? Så det kunne være her en evt. konflikt kunne opstå?
Avatar billede public2 Nybegynder
11. november 2007 - 17:08 #6
Hej...

Nope, der er kun en frontPageMain i tabel 1... Tabel 2 er side-konfigurationer, som titel, bredde og deslige.

Jeg har prøvet at søge lidt rundt på google, men kan ikke rigtig finde nogle forklaring heller. Jeg vil prøve en anden metode at update og så håbe, at den virker...
Avatar billede public2 Nybegynder
11. november 2007 - 17:39 #7
Har lige prøvet den anden metode, men den virker heller ikke... Jeg er vist løbet tør for idéer for hvad og hvorfor dette problem opstår...

Jeg vil sætte pris på hvilket som helst forslag på givende tidspunkt :-)
Avatar billede mini-me Nybegynder
11. november 2007 - 18:17 #8
Hvilken type er feltet frontPageMain i db'en?
Avatar billede public2 Nybegynder
11. november 2007 - 20:22 #9
Det er memo - men har fundet ud af det... Fandt en style-formater, som jeg engang havde brugt, og nu fungere det...

Men som tak for din hjælp, skal du have pointene alligevel :-)
Avatar billede ataxx Nybegynder
14. november 2007 - 15:28 #10
forstår jeg dig ret, så får du ikke dine linieskift med over i databasen.
dette kan gøres sådan her :
objRS("FrontPageMain") = replace(Server.HTMLEncode(Request("main"), vbcrlf, "<br>"))

Jeg håber det hjælper dig :)
Avatar billede public2 Nybegynder
14. november 2007 - 16:18 #11
Hej ataxx... Ja det var netop min vbCrLf der var glemt... Men tak for svaret alligevel :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester