22. juli 2008 - 20:51Der er
29 kommentarer og 1 løsning
Disabled input-felt med i $_POST
Hej. Jeg har en form, hvor jeg har nogle input-felter. Disse felter opdates via en Submit-knap og hvor input-værdierne lægges i nogle $_POST variabler.
Jeg har opdaget, at hvis jeg har disabled et felt, fordi det skal være låst, så kommer værdien ikke med i $_POST variablen.
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Det løser ovennævnte problemstilling. Fordelen ved "disabled er, at feltet er nedtonet og tabulartor ikke virker på feltet. Kan det også løses med readonly? Jeg kan selvfølgelig lave en anden class og dermed løse nedtoningen. Men andre forslag?
Du skal lige være klar over, at uanset hvordan du laver ovenstående (med disabled, readonly og/eller hidden felter), så forhindrer det ikke en person i at ændre på talene.
Så hvis det er noget vigtig (hvilket det ofte er når der omhandler penge), så bør evt. lave det på en anden måde.
Det har jeg hørt om, men der er tale om et internt administrativt system med login Sessions osv. og kun 1 bruger. Så problemet er nok ikke til stede i dette tilfælde.
Janpolsen. Kan du give en kort forklaring på, hvordan jeg kan opdatere nogle MySQL-data via input felter og uden brug af $_POST - altså så personer ikke kan ændre i talene. Eller måske bare et link til noget, som beskriver problemstillingen og løsningen.
Men de er to slags data: dem brugeren skal kunne ændre - du kan nøjes med et felt i din <form>. Og dem brugeren ikke må ændre - du kan nøjes med en session-variabel.
Bare lige for at være helt sikker. Jeg kommer altså ikke udenom, at jeg skal bruge $_POST...., når brugeren skal kunne ændre dataene. Og dermed er det ikke nødvendigt at anvende $_SESSION til den type.
S_SESSION er kun, når brugeren ikke skal kunne rette i dataene. Er det korrekt forstået?
Som det allerede er nævnt, så er sessionvariabler en måde at gøre det på, men hvis du i første omgang slår tallet op fra databasen ($row['depositum']), hvorfor er du så interesseret I at føre det med over og så skrive det til databasen igen?
Under alle omstændigheder så bør du, hvis du begynder at bruge sessions, lave en session_regenerate_id() efter hver session_start(). Det er en måde at undgå session fixation/hijacking.
Jan Polsen: Godmorgen... Det er fordi jeg har delt min kode op i 2 dele: 1. Input felterne 2. Valideringer på indtastninger, mysql_real_escape_string, og updatere databasen.
Da der er mange input-felter, og nogle af dem i nogle situationer er aktive og andre disabled, så er ovennævnte en nemmere løsning, da jeg slet ikke behøver at røre ved del 2.
nemlig>> Ja, det er JavaScript. Og i dag er der ikke mange hjemmesider, som slet ikke bruger JavaScript, og ligeledes enormt få mennesker, som har slået JavaScript fra.
Tror du, Microsoft.com, Facebook.com, Flickr.dk, osv. kunne køre uden? De bruger alle enormt meget JavaScript, og de er nogle af de meste besøgte hjemmesider.
I dag kan man heller ikke lave særlig mange ting, hvis man går ud fra, at ens brugere har slået JS fra. =)
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.