Poul | Skrevet 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. |
|
RJK | Skrevet 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
|
|
Poul | Skrevet 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? |
|
|
olme | Skrevet 23/05-03 11:25, rettet 23/05-03 11:26 | Slå den op på (under VBScript)
www.devguru.com |
|
Aliaarhus | Skrevet 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 "'"). |
|
|
Poul | Skrevet 23/05-03 12:49 | Tak for hjælpen guys. Må lige prøve det af i weekenden. |
|
Aliaarhus | Skrevet 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. |
|
Beano | Skrevet 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 :) |
|
RJK | Skrevet 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
|
|
fum | Skrevet 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.
|
|
Beano | Skrevet 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, "'", "''") |
|
Poul | Skrevet 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. |
|
|
Poul | Skrevet 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? |
|
RJK | Skrevet 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
|
|
Poul | Skrevet 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. |
|
|
Poul | Skrevet 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. |
|
|
olme | Skrevet 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 ;-) |
|
Poul | Skrevet 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.... |
|
|
Poul | Skrevet 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? |
|
|
Poul | Skrevet 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. |
|
kidcaffeine | Skrevet 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? |
|
Lingobar | Skrevet 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...
|
|
kidcaffeine | Skrevet 17/06-04 17:08 | Hvordan skal det kunne udskifte en hel side? :) |
|
Lingobar | Skrevet 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...
|
|
|
kidcaffeine | Skrevet 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å :) |
|