X FOR HAN ARK VUR
» SAM INFO AKT BSK

Hjælp til HTML/ASP!


Svar
PoulPoulSkrevet 22/05-03 23:27 
Jeg er igang med at lave et forum ala dette her, bare med langt mindre funktioner og har brug for lidt hjælp. Når jeg skal gemme et indlæg, kan jeg sagtens håndtere tegnet ", men hvis der bliver indtastet et ', så går der kage i den. Er der en eller anden smart måde man kan håndtere dette tegn på? Problemet ligger jo i at man bruger ' tegnet i opbygningen af SQL-sætningen og så går der jo kage i den, hvis tekststrengen man vil indsætte også indeholder '.

Inden en moderator lukker dette emne ned, fordi de skulle tro at mit forum skal konkurere med dette, så vil jeg bare sige, at det skal det overhovedet ikke. Det er et lille privat forum til en tipsklub. Grunden til denne udtalelse, er at jeg oprettede en lignende post på det gamle DKF i sin tid og der blev den slettet med det samme.
RJKRJKSkrevet 22/05-03 23:46 
Til det sidste husker du vist ret meget forkert - jeg husker da at have hjulpet dig flere gange til præcis samme projekt :)

Og for at svare på dit spørgsmål, så skal du replace tegnet med et andet. I ASP kan du sætte det tre gange i træk - så opfatter den det som ét, uden at fucke op i noget. Du kunne også bruge ASCII-koden med Chr(). For PHP bruger du backslash før tegnet.
»This Is Beginning Of A Fantastic Story«Spiller nu: Fire Emblem: Three Hous..., Hellblade: Senua's Sacr..., Fire Emblem Fates
PoulPoulSkrevet 23/05-03 08:33 
Først, lad mig lige pointere at ja, du hjalp mig, men emnet blev jo lukket ned prompte i første omgang, såvidt jeg husker, men lad os ikke grave mere i det. Nu er jeg også næsten endelig færdig med "skidtet".

Anyway, jeg bruger ASP/Javascript, findes der en smart "replace" funktion til lige at løbe tekststrengen igennem?
RJKRJKSkrevet 23/05-03 11:24 
Ja. Replace(SOURCESTRING, SEARCHSTRING, REPLACESTRING).

Fx Replace(INPUT, "'", "'''")

(Svjh - nu bruger jeg jo mest PHP, så jeg kan huske forkert. Måske hedder den lidt noget andet, men...)
»This Is Beginning Of A Fantastic Story«Spiller nu: Fire Emblem: Three Hous..., Hellblade: Senua's Sacr..., Fire Emblem Fates
olmeolmeSkrevet 23/05-03 11:25, rettet 23/05-03 11:26 
Slå den op på (under VBScript)

www.devguru.com
AliaarhusAliaarhusSkrevet 23/05-03 12:23, rettet 23/05-03 12:23 
Det er rigtigt som RJK skriver. Du kan også se www.eksperten.dk - et rigtigt godt sted til programmering. Men du skal i hvertfald bruge følgende, hvis dit felt f.eks. hedder besked:

Hvis du vil adde:
rs("besked") = Replace(request.form("besked"), "'", "´")

Hvis du vil redigere:
strSQL = strSQL & "besked='" & Replace(request.form("besked"), "'", "´") & "'"

Så bytter du tegnet ' ud med ´ - det har jeg gjort på min hjemmeside, og du får derfor ikke fejl når du adder (gør man som regel ikke) eller når du redigerer (hyppigt pga "'").
RJKRJKSkrevet 23/05-03 12:30 
Dårlig løsning! Lad være med at bruge det der falske apostrof-tegn. Det er ikke standard. Gør det på den rigtige måde, som jeg har beskrevet...
»This Is Beginning Of A Fantastic Story«Spiller nu: Fire Emblem: Three Hous..., Hellblade: Senua's Sacr..., Fire Emblem Fates
PoulPoulSkrevet 23/05-03 12:49 
Tak for hjælpen guys. Må lige prøve det af i weekenden.
AliaarhusAliaarhusSkrevet 23/05-03 13:28, rettet 23/05-03 13:35 
RJK >
Dårlig løsning! Lad være med at bruge det der falske apostrof-tegn. Det er ikke standard. Gør det på den rigtige måde, som jeg har beskrevet...

hvorfor er det da det? Det ser lidt >hmm< ud når man f.eks. vil skrive Michael's og der så står Michael''s. Så hellere Michael´s? Han kan også gøre det, og så gøre følgende når han requester feltets indhold i forumet: <%=Replace(rs("besked"), "´", "'")%>, så får han det til ' selvom der rent faktisk står ´ i databasen - og samtidig er han sikret mod brud.
BeanoBeanoSkrevet 23/05-03 13:34, rettet 23/05-03 13:37 
Hvis du indsætter eller opdaterer records via et ADO Recordset (dvs. med AddNew og Update metoderne), er der slet ingen grund til at erstatte '-tegnene i dine strenge.

Kun hvis du bruger SQL statements (f.eks. INSERT og UPDATE).

Edit :
...men hvis du vil bruge INSERT og UPDATE SQL statements, erstatter du bare ' med '', så ved databasen at du vil indsætte et enkelt '-tegn :)
RJKRJKSkrevet 23/05-03 13:50 
Til Edit'en: Nemlig. Der kommer selvfølgelig ikke flere apostroffer i selve databasen... Det er blot besked til SQL om, at det altså ikke er en afslutning af stringen, men rent faktisk et apostroftegn.

Om det så lige er to eller tre der skal være, kan jeg altså heller ikke huske :)
»This Is Beginning Of A Fantastic Story«Spiller nu: Fire Emblem: Three Hous..., Hellblade: Senua's Sacr..., Fire Emblem Fates
fumfumSkrevet 23/05-03 13:53 
Hmm, det er jo højeste gnyffologi det her. Jeg mener det er tre
I used to jog, but the ice cubes kept falling out of my glass.
BeanoBeanoSkrevet 23/05-03 15:01 
RJK >
Om det så lige er to eller tre der skal være, kan jeg altså heller ikke huske :)

Det er to :)

F.eks. Replace(strTitel, "'", "''")
PoulPoulSkrevet 24/05-03 14:18 
Så har jeg brug for lidt hjælp igen. Hvordan får man gemt et linieskift? Jeg er ved at teste og prøvede at lave et par liniskift i nogle af mine indlæg, men de blev ikke vist når jeg hentede indlæggene frem. Det skal siges at indlæggene naturligvis blive vist i en tabel. Indlæggene bliver gemt i Acces-database som et Notat, med "tillad unicode-comprimering" sat til ja. Skal jeg have sat en eller anden html attribut på tabellen oder was?

Det sjove er at når jeg vil rette et indlæg, så kommer teksten frem i textareaet som jeg oprindelig skrev, altså med linjeskift.
RJKRJKSkrevet 24/05-03 14:25, rettet 24/05-03 14:27 
Erstat ASCII-koden for linjeskift (Chr(10)) med HTML-koden for ditto (BR).
»This Is Beginning Of A Fantastic Story«Spiller nu: Fire Emblem: Three Hous..., Hellblade: Senua's Sacr..., Fire Emblem Fates
PoulPoulSkrevet 24/05-03 15:27 
Mener du når indlægget bliver gemt eller når det bliver hentet frem? Hvordan kan det iøvrigt være at linjeskiftene bliver inkluderet når teksten bliver hentet ind it et Textarea?
RJKRJKSkrevet 24/05-03 15:36, rettet 24/05-03 15:36 
Når du viser det. Du kan også gemme det med, men det ser jeg umiddelbart ikke som en god løsning.

Et tekstinput felt skal i en (ordentlig) browser ikke vise teksten i HTML, men i ren tekst.

Linjeskift, mellemrum og tabulator er (stort set) "usynlige" tegn i HTML. De er der, men de ignoreres.

Derfor...
»This Is Beginning Of A Fantastic Story«Spiller nu: Fire Emblem: Three Hous..., Hellblade: Senua's Sacr..., Fire Emblem Fates
PoulPoulSkrevet 25/05-03 23:50 
Nu har jeg forsøgt mig lidt med det her replace halløj, men kan ikke rigtig få det til at virke. Jeg skriver følgende "strTest = Replace(strTest,"'","''");", den smider dog en "objekt forventet" fejl tilbage. What am i doing wrong? Skal gøre et eller andet før jeg kan benytte Replace funktionen? Jeg udvikler, som skrevet tidligere, i ASP/Javascript.
RJKRJKSkrevet 25/05-03 23:58 
Find en ASP-manual og den helt korrekte syntaks. Så svært kan det ikke være...
»This Is Beginning Of A Fantastic Story«Spiller nu: Fire Emblem: Three Hous..., Hellblade: Senua's Sacr..., Fire Emblem Fates
PoulPoulSkrevet 26/05-03 08:13, rettet 26/05-03 08:14 
Er det ikke nærmere en Javascript manual? Anyway...trust me...jeg har kigget rundt på diverse sites, men uden held. Det eneste jeg støder på, er det jeg selv har forsøgt mig med.
RJKRJKSkrevet 26/05-03 11:12 
Hvorfor er det, at du vil blande Javascript ind i det? Hvorfor ikke bare ren ASP/VBScript?
»This Is Beginning Of A Fantastic Story«Spiller nu: Fire Emblem: Three Hous..., Hellblade: Senua's Sacr..., Fire Emblem Fates
olmeolmeSkrevet 26/05-03 11:14, rettet 26/05-03 11:19 
Du skal kun bruge javascript til events, som ikke findes i ASP. Brug ASP/VBScript hvor du kan.

Edit: Tilføjet til ;-)
PoulPoulSkrevet 26/05-03 11:41 
RJK >
Hvorfor er det, at du vil blande Javascript ind i det? Hvorfor ikke bare ren ASP/VBScript?

Blande Javascript ind i det? Hele forummet er lavet i ASP/Javascript, så derfor!

Anyway....jeg har fundet ud af at Replace funktionen virker noget anderledes end i VBScript. Det er noget med regular expressions. Jeg må vist til at forske lidt i det....
RJKRJKSkrevet 26/05-03 11:46 
Okay. Jeg kan bare ikke se, hvad man skal bruge Javascript til, når man har ASP...
»This Is Beginning Of A Fantastic Story«Spiller nu: Fire Emblem: Three Hous..., Hellblade: Senua's Sacr..., Fire Emblem Fates
PoulPoulSkrevet 26/05-03 11:57 
Hvad mener du? ASP kan jo egentlig ikke ret meget uden at du kombinerer det med enten VB eller Javascript?
RJKRJKSkrevet 26/05-03 12:02 
ASP/VBScript selvfølgelig :)

Jeg har bare personligt et anstrengt forhold til Javascript. Skinner det igennem? ;p
»This Is Beginning Of A Fantastic Story«Spiller nu: Fire Emblem: Three Hous..., Hellblade: Senua's Sacr..., Fire Emblem Fates
PoulPoulSkrevet 26/05-03 12:42, rettet 26/05-03 12:44 
Ja, en smule...hehe.

Jeg er dog "vokset op" med Java, så det er nok derfor jeg foretrækker JavaScript fremfor VB. Syntaksen minder jo rimelig meget om Java syntaks.
kidcaffeinekidcaffeineSkrevet 17/06-04 15:11 
Et hurtigt spørgsmål :)

Er der en af jer der kender et script (eller en metode) der muliggør tilfældig udskiftning af alt indholdet på en side. Jeg har set en del scripts der viser et tilfældigt billede hver gang man uploader, men findes der nogen, der kan udskifte både tekst og billeder på en side?
LingobarLingobarSkrevet 17/06-04 15:33, rettet 17/06-04 15:34 
Da-da-daaaaa!

Replace(strTekst,"'","'")

Sådan dér!

edit:

Arh den rettede det til '!
& # 39 ;

fjern mellemrummene i ovenstående.
Dine dage er salte...
kidcaffeinekidcaffeineSkrevet 17/06-04 17:08 
Hvordan skal det kunne udskifte en hel side? :)
LingobarLingobarSkrevet 18/06-04 00:23 
KidCaffeine>
Hvordan skal det kunne udskifte en hel side? :)

Det skal ikke kunne udskifte en hel side. Når brugeren submit'er et indlæg, skal Poul lave en variabel hvor han replacer "'" med "& # 39 ;" (uden mellemrum), før han gemmer det i databasen.
Dine dage er salte...
ReinholdJJReinholdJJSkrevet 18/06-04 04:05 
der findes en dansk side om HTML, XHTML, CSS, ASP og SSI!

HTML, XHTML, CSS, ASP og SSI
"If Microsoft is the solution, I want my problem back." ;-)
kidcaffeinekidcaffeineSkrevet 18/06-04 07:57 
lingobar>
Det skal ikke kunne udskifte en hel side. Når brugeren submit'er et indlæg, skal Poul lave en variabel hvor han replacer "'" med "& # 39 ;" (uden mellemrum), før han gemmer det i databasen.

Ahhh, troede det var mit spørgsmål du svarede på :)
Login for at besvare
Profilnavn
Kodeord
Husk mig