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. <, > 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: < 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 :(
Jeg vil ikke sifte tegnene ud inden de bliver gemt. Det bliver gemt som de tegn det nu er (<, > osv.) og ikke <
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...
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.
Jeg havde ikke opdaget at HTML tolkede tegnet < som ét tegn i en form, og ikke som 4 som jeg troede :$
Men ellers mange tak...
Synes godt om
Ny brugerNybegynder
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.