/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Hvordan bevares linieskift uden at <br> ka~
Fra : Jakob Munck


Dato : 14-08-01 20:26

Jeg har en lille forening, og her indsender medlemmerne deres
medlemsoplysninger via en formular. Senere skal det være muligt for
medlemmerne af revidere/opdatere disse oplysninger, men her har jeg et
problem. For den SQL-kode som jeg anvender til at indsætte oplysninger i
tabellen, betyder at der indsættes <br> i databasen, hver gang der skal være
et liniebrud, og når medlemmerne skal opdatere deres oplysninger, bliver de
forvirrede over at se disse <br> hvoer gang der skal være et linieskift.

Kan det ikke lade sig gøre at indsætte oplysninger i databasen og at hente
dem ud for at update dem, på en måde, så man ikke ser <br>-erne, men kun de
linieskift, som der skal være?

Jeg ved det er muligt, men jeg ved ikke hvordan. Så jeg modtager meget gerne
et godt råd.

Her er min nuværende kode, som skaber de mange <br>-ere. Hvordan skal den
laves om?

<%
.....................
strSQL = "select * from bruger where brugernavn = '" & brugernavn & "'"
rs.Open strsql, conn, 1, 3

'Tjekker om brugernavnet er optaget
if rs.eof or rs.BOF then

rigtignavn = request.form("rigtignavn")
brugernavn = request.form("brugernavn")
koen = request.form("koen")
kodeord = request.form("kodeord")
foedeaar = request.form("foedeaar")
brugerfilename = "intet_billede.jpg"
hoejde = request.form("hoejde")
vaegt = request.form("vaegt")
antalboern = request.form("antalboern")
bopael = request.form("bopael")
uddannelsearbejde = request.form("uddannelsearbejde")
religion = request.form("religion")
beskrivdigselv = request.form("beskrivdigselv")
email = request.form("email")
indmTid = Now()
sidsteBesoeg = Now()


' her er koden der gør liniebrud mulige
beskrivdigselv = replace(beskrivdigselv, vbcrlf, "<br>" & vbcrlf)
beskrivdigselv = replace(beskrivdigselv, """", "&#34;", 1, -1, 1)
beskrivdigselv = replace(replace(beskrivdigselv, """", "&#34;", 1, -1, 1),
"'", "&#39;", 1, -1, 1)


sql_insert = "insert into bruger (rigtigNavn, brugerNavn, koen, kodeord,
foedeaar, brugerFilename, hoejde, vaegt, antalboern, bopael,
uddannelsearbejde, religion, beskrivdigselv, email, indmTid) values ('" &
rigtignavn & "', '" & brugernavn & "', '" & koen & "', '" & kodeord & "', '"
& foedeaar & "', '" & brugerfilename & "', '" & hoejde & "', '" & vaegt &
"', '" & antalboern & "', '" & bopael & "', '" & uddannelsearbejde & "', '"
& religion & "', '" & beskrivdigselv & "', '" & email & "', '" & indmTid &
"')"

..................
%>

v.h.
Jakob Munck






 
 
Janus Klok Lauritsen (14-08-2001)
Kommentar
Fra : Janus Klok Lauritsen


Dato : 14-08-01 21:00

Du har såmænd løsningen lige her....
Den kode jeg ikke har klippet ud, skal bare sættes ind der hvor du skriver
din data ud på en hjemmeside, og ikke inden du gemmer data i DB...
Mvh
Janus
"Jakob Munck" <jakob.munck@email.dk> wrote in message
news:9lbtot$275h$1@news.cybercity.dk...
<SNIP>
> ' her er koden der gør liniebrud mulige
> beskrivdigselv = replace(beskrivdigselv, vbcrlf, "<br>" & vbcrlf)
> beskrivdigselv = replace(beskrivdigselv, """", "&#34;", 1, -1, 1)
> beskrivdigselv = replace(replace(beskrivdigselv, """", "&#34;", 1, -1, 1),
> "'", "&#39;", 1, -1, 1)
> v.h.
> Jakob Munck




Michael Jakobsen (14-08-2001)
Kommentar
Fra : Michael Jakobsen


Dato : 14-08-01 21:00

On Tue, 14 Aug 2001 21:26:18 +0200, "Jakob Munck"
<jakob.munck@email.dk> wrote:

>Her er min nuværende kode, som skaber de mange <br>-ere. Hvordan skal den
>laves om?
>beskrivdigselv = replace(beskrivdigselv, vbcrlf, "<br>" & vbcrlf)
>beskrivdigselv = replace(beskrivdigselv, """", "&#34;", 1, -1, 1)
>beskrivdigselv = replace(replace(beskrivdigselv, """", "&#34;", 1, -1, 1),
>"'", "&#39;", 1, -1, 1)

Hvis jeg var dig, så ville jeg gemme den rå indtastning i databasen,
altså uden at udskifte mellemrum med <br>.
Når du så udtrækker beskrivdigselv på dit site bruger du blot
<%=replace(rs("beskrivdigselv"), vbCrLf, "<BR>")%>

Det samme gør sig gældende hvis du vil rette i beskrivdigselv, så
trækker du det ind i en formular med <%=rs("beskrivdigselv")%> og er
fri for at tænke på linieskift.

Håber jeg forstod dit spørgsmål korrekt.

/Goose
--
<URL:mailto:webmaster@goose.dk>
<URL:http://www.goose.dk>

Jesper Stocholm (14-08-2001)
Kommentar
Fra : Jesper Stocholm


Dato : 14-08-01 21:06

"Jakob Munck" <jakob.munck@email.dk> wrote in
news:9lbtot$275h$1@news.cybercity.dk:

> Jeg har en lille forening, og her indsender medlemmerne deres
> medlemsoplysninger via en formular. Senere skal det være muligt for
> medlemmerne af revidere/opdatere disse oplysninger, men her har jeg et
> problem. For den SQL-kode som jeg anvender til at indsætte oplysninger
> i tabellen, betyder at der indsættes <br> i databasen, hver gang der
> skal være et liniebrud, og når medlemmerne skal opdatere deres
> oplysninger, bliver de forvirrede over at se disse <br> hvoer gang der
> skal være et linieskift.
>
> Kan det ikke lade sig gøre at indsætte oplysninger i databasen og at
> hente dem ud for at update dem, på en måde, så man ikke ser <br>-erne,
> men kun de linieskift, som der skal være?
>
> Jeg ved det er muligt, men jeg ved ikke hvordan. Så jeg modtager meget
> gerne et godt råd.
>

Der er ingen grund til at skifte linieskift ud inden data sendes i databasen
.... faktisk bør det nok frarådes :)

Linieskift bevares i den tekst du indsætter i databasen - hvis data fx.
kommer fra et TEXTAREA. Det kan du se, hvis du fx i en Access-database
vælger feltet i recordset-view og klikker på SHIFT-F2 (eller også er det
CTRL-F2).

Det er kun hvis du vil vise dine data på en webside, at du er nødt til at
lave en replace("some text from database",VbCrLf,"<br>"). Hvis du indsætter
data fra din database direkte i et TEXTAREA bevares linieskift også.

Altså: Indsæt data råt fra website - og kun når de vises skal der foretages
en replace() ... dermed opbevares dine data intakt.

:)

--
Jesper Stocholm
http://stocholm.dk
ICQ: 13214885
MSN Messenger: jesperstocholm at hotmail dot com

Jonas Astrup - html.~ (14-08-2001)
Kommentar
Fra : Jonas Astrup - html.~


Dato : 14-08-01 21:28

Jakob Munck wrote in dk.edb.internet.webdesign.serverside.asp:
> Jeg ved det er muligt, men jeg ved ikke hvordan.

Vent med at indsætte <br>

Det vil sige at du slet ikke har <br> til at stå i databasen, men først
replacer når du skal vise teksten.

Mvh
Jonas

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Kasper Kyndsberg (14-08-2001)
Kommentar
Fra : Kasper Kyndsberg


Dato : 14-08-01 21:41

"Jonas Astrup - html.dk" <jonas.usenet@html.dk> skrev i en meddelelse
news:9lc1kf$3m5$1@sunsite.dk...
> Jakob Munck wrote in dk.edb.internet.webdesign.serverside.asp:
> > Jeg ved det er muligt, men jeg ved ikke hvordan.
>
> Vent med at indsætte <br>
>
> Det vil sige at du slet ikke har <br> til at stå i databasen, men først
> replacer når du skal vise teksten.
>


Nu kan jeg se, i alle er meget enige om, man først bør konvertere til <br>
når man laver udtrækket af databasen. Jeg er newbie til asp, så hvis en af
jer gad at uddybe... jeg mener, jo flere ting siden skal afvikle inden den
kan vises i browseren, jo langsommere bliver den? Man kan vel sagtens lave
det omvendt af jeres metode og så indsætte VbCrLf når man vil se det
indtastede i et textarea? Bare et opklarende spørgsmål jeg selv har gået med
et stykke tid.

--
/Kasper
<http://www.kyndsberg.dk/>



Allan Ebdrup (14-08-2001)
Kommentar
Fra : Allan Ebdrup


Dato : 14-08-01 22:06

"Kasper Kyndsberg" <kasper@kyndsberg.sletmig.dk> skrev i en meddelelse
news:9lc2be$5qo$1@sunsite.dk...
> Nu kan jeg se, i alle er meget enige om, man først bør konvertere til <br>
> når man laver udtrækket af databasen. Jeg er newbie til asp, så hvis en af
> jer gad at uddybe... jeg mener, jo flere ting siden skal afvikle inden den
> kan vises i browseren, jo langsommere bliver den? Man kan vel sagtens lave
> det omvendt af jeres metode og så indsætte VbCrLf når man vil se det
> indtastede i et textarea? Bare et opklarende spørgsmål jeg selv har gået
med
> et stykke tid.

Hej Kasper
Hvad hvis den oprindelige besked indeholdt teksten "<br>" det kunne for
eksempel være en tekst det handlede om HTML (eller for eksempel denne
besked).
Generelt er det godt at kunne gå tilbage til den tekst der oprindeligt blev
indtastet, hvis der næste aldrig skal rettes i den og du altid vil omforme
på samme måde kan du evt. gemme den originale tekst i databasen (vi kan
kalde den T) og også den der er "klargjort til HTML output" (vi kan kalde
den T2), så kan du hente T frem når der skal rettes i den og hente T2 frem
hvis du bare skal udskrive teksten.
Det give dog en hel bunke arbejde hvis du laver om i funktionen det "klargør
til HTML" dvs. hvis du laver om i den funktion der laver T om til T2.

Alt i alt bliver det et spørgsmål om hvilke krav der er til den enkelte
applikation. Du bør altid gemme den oprindeligt indtastede tekst, ellers
risikerer du at miste den og ikke kunne genskabe den.

Mvh
Allan Ebdrup



Kasper Kyndsberg (15-08-2001)
Kommentar
Fra : Kasper Kyndsberg


Dato : 15-08-01 00:17

"Allan Ebdrup" <ebdrup@ti-fire.dk> skrev i en meddelelse
news:9lc3om$2h4h$1@news.cybercity.dk...
[SNIP]

Hej Allan (& Janus)

Tak for svaret til begge.

> Generelt er det godt at kunne gå tilbage til den tekst der oprindeligt
blev
> indtastet, hvis der næste aldrig skal rettes i den og du altid vil omforme
> på samme måde kan du evt. gemme den originale tekst i databasen (vi kan
> kalde den T) og også den der er "klargjort til HTML output" (vi kan kalde
> den T2), så kan du hente T frem når der skal rettes i den og hente T2 frem
> hvis du bare skal udskrive teksten.
> Det give dog en hel bunke arbejde hvis du laver om i funktionen det
"klargør
> til HTML" dvs. hvis du laver om i den funktion der laver T om til T2.

Jeg kan godt se en del af logikken i, at man skal have adgang til den
oprindelige tekst. Men, de linieskift der laves, er vel logiske.

> Alt i alt bliver det et spørgsmål om hvilke krav der er til den enkelte
> applikation. Du bør altid gemme den oprindeligt indtastede tekst, ellers
> risikerer du at miste den og ikke kunne genskabe den.

Man kunne måske skrive til to tabeller, hvis man ville bevare den
oprindelige tekst...

Janus Klok Lauritsen er også i nedensteånde tråd inde på, at folk jo ikke
indtaster <br> tags i teksten, hvilket vel relativt nemt burde kunne løses
ved linieskift bliver konverteret til <br> tags når de lægges ind i
databasen.

Alle ovenstående forslag fra min side er naturligvis kun rent teoretisk
newbiesnak. For, som sagt er jeg newbie, og derfor meget i tvivl om hvor
meget det betyder at siden skal generes hver gang den kaldes for hastigheden
på serveren. Har det stor eller lille betydning? Hvis det har en relativ
stor betydning kunne der jo være en ide i at konvertere... men ellers er det
helt bestemt rigtigt at det er et stort stykke arbejde at lave alle disse
koder der skal konvertere frem og tilbage.

--
/Kasper
<http://www.kyndsberg.dk/>



Allan Ebdrup (15-08-2001)
Kommentar
Fra : Allan Ebdrup


Dato : 15-08-01 09:17

"Kasper Kyndsberg" <kasper@kyndsberg.sletmig.dk> skrev i en meddelelse
news:9lcbhb$s6d$1@sunsite.dk...
[klip]
> Jeg kan godt se en del af logikken i, at man skal have adgang til den
> oprindelige tekst. Men, de linieskift der laves, er vel logiske.

Tag det fra en erfaren rotte, det du i dag synes er "logisk" vil du sparke
dig selv over skinnebenet for om 2-3 år, skal en søgning efter teksten "br"
for eksempel returnere alle tekster med linieskift ? Igen kommer det an på
dine krav til applikationen. Hvis du tvivler på os når vi siger, at det er
en fordel at gemme den oprindelige tekst i databasen så skal du bare gøre
som du selv vil, og hvis det virker for dig er det jo fint, hvis ikke har du
lært noget ved at prøve det selv.

> > Alt i alt bliver det et spørgsmål om hvilke krav der er til den enkelte
> > applikation. Du bør altid gemme den oprindeligt indtastede tekst, ellers
> > risikerer du at miste den og ikke kunne genskabe den.
>
> Man kunne måske skrive til to tabeller, hvis man ville bevare den
> oprindelige tekst...

Forskellen er ens det er farven der har en anden lyd, men da de to tekster
tilhører samme entitet (samme "ting", samme tekst) bør de ligge i samme
tabel - hvorfor vil du lave to tabeller ?

> Janus Klok Lauritsen er også i nedensteånde tråd inde på, at folk jo ikke
> indtaster <br> tags i teksten, hvilket vel relativt nemt burde kunne løses
> ved linieskift bliver konverteret til <br> tags når de lægges ind i
> databasen.

Hvis du med sikkerhed kan sige at de aldrig nogen sinde i hele
applikationens levetid vil komme til at indtaste teksten <br> selv mange år
ude i fremtiden. Hvis det ikke gør noget at når folk søger efter "<br", "b",
"r", "<br>", "br", "r>,"<", "<" eller "<b" så finder de alle tekster med
linieskift, subsidiært at du skal lave en søgefunktion der ignorerer
strengen "<br>" når den søger, men det er nok et temmeligt stort arbejde, og
vil næppe gøre søgefunktionen særligt hurtig.

> Alle ovenstående forslag fra min side er naturligvis kun rent teoretisk
> newbiesnak. For, som sagt er jeg newbie, og derfor meget i tvivl om hvor
> meget det betyder at siden skal generes hver gang den kaldes for
hastigheden
> på serveren. Har det stor eller lille betydning? Hvis det har en relativ
> stor betydning kunne der jo være en ide i at konvertere... men ellers er
det
> helt bestemt rigtigt at det er et stort stykke arbejde at lave alle disse
> koder der skal konvertere frem og tilbage.

Lad mig stille et par spørgsmål:
Har du nogensinde selv haft performance problemer med det du laver ?
Har du nogensinde set et spørgsmål i denne gruppe der hed noget i retningen
af "hjælp jeg har alt for dårlig performance" ?

Hvis du har så er det næppe mange og i de tilfælde er det i 99% af
tilfældende et problem med dataudtrækket fra databasen.

Folk går så meget op i performance at de ødelægger strukturen i deres
applikationer, udelader kommentare, og laver uforståelige løsninger bare
fordi de på papiret er 1 millisekund hurtigere end en anden metode. De
geller at over halvdelen af at skrive en god applikation er at applikationen
har en logisk struktur, generelle funktioner der kan genbruges, en robust
applikation der ikke kommer med mærklige fejl men fanger dem og viser en pæn
fejlmedelelse, en ...
Ja de er 1.000 ting der er vigtigere end at presse de sidste små procent ud
af performance.

For slet ikke at tale om at for webapplikationer er det skalerbarheden der
er vigtig og ikke performance, men så skal vi til at være lidt "langhårede".

MVH
Allan Ebdrup



Kasper Kyndsberg (15-08-2001)
Kommentar
Fra : Kasper Kyndsberg


Dato : 15-08-01 09:34

"Allan Ebdrup" <ebdrup@ti-fire.dk> skrev i en meddelelse
news:9ldb2q$13d4$1@news.cybercity.dk...
> "Kasper Kyndsberg" <kasper@kyndsberg.sletmig.dk> skrev i en meddelelse
> news:9lcbhb$s6d$1@sunsite.dk...
> [klip]
> > Jeg kan godt se en del af logikken i, at man skal have adgang til den
> > oprindelige tekst. Men, de linieskift der laves, er vel logiske.
>
> Tag det fra en erfaren rotte, det du i dag synes er "logisk" vil du sparke
> dig selv over skinnebenet for om 2-3 år, skal en søgning efter teksten
"br"
> for eksempel returnere alle tekster med linieskift ? Igen kommer det an på
> dine krav til applikationen. Hvis du tvivler på os når vi siger, at det er
> en fordel at gemme den oprindelige tekst i databasen så skal du bare gøre
> som du selv vil, og hvis det virker for dig er det jo fint, hvis ikke har
du
> lært noget ved at prøve det selv.

Ok, nu forstår jeg... det problem har en af mine venner faktisk med en af
hans sider.

[SNIP]
> Folk går så meget op i performance at de ødelægger strukturen i deres
> applikationer, udelader kommentare, og laver uforståelige løsninger bare
> fordi de på papiret er 1 millisekund hurtigere end en anden metode. De
> geller at over halvdelen af at skrive en god applikation er at
applikationen
> har en logisk struktur, generelle funktioner der kan genbruges, en robust
> applikation der ikke kommer med mærklige fejl men fanger dem og viser en
pæn
> fejlmedelelse, en ...
> Ja de er 1.000 ting der er vigtigere end at presse de sidste små procent
ud
> af performance.
>
> For slet ikke at tale om at for webapplikationer er det skalerbarheden der
> er vigtig og ikke performance, men så skal vi til at være lidt
"langhårede".

Som sagt har jeg ikke skrevet særlig meget asp endnu, men jeg forstår hvad
du mener. Mange tak for svaret.

--
/Kasper
<http://www.kyndsberg.dk/>



Peter Lykkegaard (15-08-2001)
Kommentar
Fra : Peter Lykkegaard


Dato : 15-08-01 10:33


"Kasper Kyndsberg" <kasper@kyndsberg.sletmig.dk> wrote in message
news:9ldc49$4bm$1@sunsite.dk...
> "Allan Ebdrup" <ebdrup@ti-fire.dk> skrev i en meddelelse
> news:9ldb2q$13d4$1@news.cybercity.dk...
> > "Kasper Kyndsberg" <kasper@kyndsberg.sletmig.dk> skrev i en meddelelse
> > news:9lcbhb$s6d$1@sunsite.dk...
> > [klip]
> > > Jeg kan godt se en del af logikken i, at man skal have adgang til den
> > > oprindelige tekst. Men, de linieskift der laves, er vel logiske.
> >
> > Tag det fra en erfaren rotte, det du i dag synes er "logisk" vil du
sparke
> > dig selv over skinnebenet for om 2-3 år, skal en søgning efter teksten
> "br"
> > for eksempel returnere alle tekster med linieskift ? Igen kommer det an

> > dine krav til applikationen. Hvis du tvivler på os når vi siger, at det
er
> > en fordel at gemme den oprindelige tekst i databasen så skal du bare
gøre
> > som du selv vil, og hvis det virker for dig er det jo fint, hvis ikke
har
> du
> > lært noget ved at prøve det selv.
>
> Ok, nu forstår jeg... det problem har en af mine venner faktisk med en af
> hans sider.
>
Jeg kan lige tilføje at når man nu lige vil rette noget direkte i tabellen,
så takker man de højere magter for at have undladt at formatere liniskift
til <br>
Det ville ellers komme til at stå som én lang streng

mvh/Peter Lykkegaard



Janus Klok Lauritsen (14-08-2001)
Kommentar
Fra : Janus Klok Lauritsen


Dato : 14-08-01 22:21

Det har du ret i, men det tillader så ikke din bruger at indtaste teksten
<br>, hvis det skulle blive nødvendigt...
Ellers har du ret tror jeg, men det kommer jo helt an på hvordan/hvad dit
script skal lave....
Jeg glæder mig til at se hvad de andre siger...Mon der er nogen der har
checket hvad det egentlig kræver at udfører replace ?
Mvh
Janus
"Kasper Kyndsberg" <kasper@kyndsberg.sletmig.dk> wrote in message
news:9lc2be$5qo$1@sunsite.dk...
> Nu kan jeg se, i alle er meget enige om, man først bør konvertere til <br>
> når man laver udtrækket af databasen. Jeg er newbie til asp, så hvis en af
> jer gad at uddybe... jeg mener, jo flere ting siden skal afvikle inden den
> kan vises i browseren, jo langsommere bliver den? Man kan vel sagtens lave
> det omvendt af jeres metode og så indsætte VbCrLf når man vil se det
> indtastede i et textarea? Bare et opklarende spørgsmål jeg selv har gået
med
> et stykke tid.
>
> --
> /Kasper
> <http://www.kyndsberg.dk/>




Jesper Stocholm (15-08-2001)
Kommentar
Fra : Jesper Stocholm


Dato : 15-08-01 06:25

"Kasper Kyndsberg" <kasper@kyndsberg.sletmig.dk> wrote in
news:9lc2be$5qo$1@sunsite.dk:

> "Jonas Astrup - html.dk" <jonas.usenet@html.dk> skrev i en meddelelse
> news:9lc1kf$3m5$1@sunsite.dk...
>> Jakob Munck wrote in dk.edb.internet.webdesign.serverside.asp:
>> > Jeg ved det er muligt, men jeg ved ikke hvordan.
>>
>> Vent med at indsætte <br>
>>
>> Det vil sige at du slet ikke har <br> til at stå i databasen, men
>> først replacer når du skal vise teksten.
>>
>
>
> Nu kan jeg se, i alle er meget enige om, man først bør konvertere til
> <br> når man laver udtrækket af databasen. Jeg er newbie til asp, så
> hvis en af jer gad at uddybe... jeg mener, jo flere ting siden skal
> afvikle inden den kan vises i browseren, jo langsommere bliver den? Man
> kan vel sagtens lave det omvendt af jeres metode og så indsætte VbCrLf
> når man vil se det indtastede i et textarea? Bare et opklarende
> spørgsmål jeg selv har gået med et stykke tid.
>

Du skal tænke på, at det du skal sørge for er at bevare tekstens integritet
i databasen - dvs indsætte teksten råt som den er givet af dine brugere.
Derefter kan du så formattere den som du lyster når du sætter det ind på din
html-side med rød skrift, understregning etc. Disse ting vil du jo heller
ikke gemme i databasen - selvom man kan.

--
Jesper Stocholm
http://stocholm.dk
ICQ: 13214885
MSN Messenger: jesperstocholm at hotmail dot com

Jakob Munck (14-08-2001)
Kommentar
Fra : Jakob Munck


Dato : 14-08-01 22:15

Mange tak til jer der har svaret. Så er problemet løst.

jm



Søg
Reklame
Statistik
Spørgsmål : 177508
Tips : 31968
Nyheder : 719565
Indlæg : 6408575
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste