Avatar billede advancedweb Nybegynder
08. december 2004 - 15:32 Der er 7 kommentarer

Tilpasse value når der optræder "specielle" tegn i form

Jeg har en form på en side hvor en bruger taster noget ind.
Det bliver så valideret af et PHP-script når man trykker på submit.
Det php-script hæver blanddt andet maxlenght, hver gang den finder et "specielt" tegn (<, >, ", ', & osv.). Det bliver så ersattet med hhv. &lt;, &gt; osv, og PHP hæver så en variabel (som senere blever sat ind i maxlenght i formen), med hhv. 2,3 eller 4 efter hvor mange tegn, tegnet der bliver erstattet af er (I: &lt; er der 4 tegn)
Så bliver valuen jo så højrere så < ikke gælder som 4 tegn, eller sagt på en anden måde... det tæller godt nok som fire tegn, men maxlenght bliver højere så man kan skrive hhv. 4 tegn mere

Hem hvis man nu i formen skriver eks: >Hey<&  eller noget lignende, og der evt. er en fejl i en af de andre felter så kommer man tilbage, og det man skrev før bliver automatisk puttet i value.
Men så når man har skrevet >Hey<& så er der jo nogle af tegnene der er blevet erstattet i PHP-scriptet, og value er dermed blevet sat op (fra 255 til 263).
Og så har brugeren jo ligepludselig adgang til at skrive 263 hvis han f.eks  sletter et af de "specielle" tegn

Kan man ikke lave et JavaScript der mens brugeren skriver holder øje med om brugeren skriver eller sletter nogle specielle tegn, og så laver value så den passer...

Håber det er forståeligt. Havde siddet og skrevet i 10-15 minutter, og da jeg trykkede på opret spørgsmål var db'en på eksperten.dk lige ude af drift et øjeblik, så alt hvad jeg havde skrevet var blevet væk :(

På forhånd tak
Avatar billede olebole Juniormester
08. december 2004 - 22:37 #1
<ole>

Hvorfor overhovedet skifte tegn ud inden det bliver gemt? Hvad er det præcist, du vil opnå med det?

/mvh
</bole>
Avatar billede advancedweb Nybegynder
08. december 2004 - 22:40 #2
Så man ikke kan køre JavaScripts og lign....
Avatar billede olebole Juniormester
08. december 2004 - 23:11 #3
Hvis det er svaret på mit spørgsmål, forstår jeg slet ikke noget
Avatar billede advancedweb Nybegynder
08. december 2004 - 23:23 #4
Jeg vil ikke sifte tegnene ud inden de bliver gemt. Det bliver gemt som de tegn det nu er (<, > osv.) og ikke &lt;

Men hvis der bliver lavet en fejl i en form, så bliver det der står i formene på siden, så vil det blive vist igen, og hvis man ikke erstatter tegnene, så resikerer man jo bare at der bliver kørt JavaScripts...
Avatar billede olebole Juniormester
08. december 2004 - 23:41 #5
Undskyld, men jeg fatter ikke en hat af, hvad du skriver  :)
Avatar billede thomas_yde Nybegynder
09. december 2004 - 09:45 #6
Ehm hvis jeg var dig ville jeg vente med at udskifte tegnene indtil de bliver printet ud på skærmen. Altså gem alt hvad brugeren laver og så udskifte det når det bliver printet.
Jeg går ud fra at det er pga du har en variabel i din database der siger varchar(255)?

Ole jeg tror det er fordi han ikke vil have en bruger skriver </table> som laver rod i hans side.
Avatar billede advancedweb Nybegynder
09. december 2004 - 13:28 #7
Jeg havde ikke opdaget at HTML tolkede tegnet &lt; som ét tegn i en form, og ikke som 4 som jeg troede :$

Men ellers mange tak...
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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