Avatar billede nemlig Professor
14. juni 2008 - 17:13 Der er 13 kommentarer og
1 løsning

input-spørgsmål

Hej.
Jeg har i en form hentet en oplysning fra Mysql:

<input type='text' name='tur' value='$row[vaerdi]'>

Værdien skal ikke kunne ændres, hvorfor jeg også har sat "disabled".

Men værdien overføres ikke til $_POST[vaerdi], når jeg trykker på "Submit".

Hvis disabled ikke er sat, så overføres værdien korrekt.

Hvordan får jeg overført værdien, og samtidig ikke ønsker den ændret??
Avatar billede supersquirrel Nybegynder
14. juni 2008 - 17:17 #1
Hvis det er denne:
<input type='text' name='tur' value='$row[vaerdi]'>

Så får du intet værdi fra den vha. $_POST[vaerdi]..
Men mere $_POST[tur] da det er hvad dit input hedder..
Avatar billede supersquirrel Nybegynder
14. juni 2008 - 17:22 #2
Bare overstreg mit indlæg ;o)
Avatar billede supersquirrel Nybegynder
14. juni 2008 - 17:24 #3
Men nu tænker jeg, hvis man alligevel ikke skal kunne ændre din "vaerdi/tur", hvorfor ikke så bare lave det i en hidden input?

<input type='hidden' value='$row[vaerdi]' name='tur'>
Hvis du absolut skal have dit vaerdi udskrevet også, så bare udskriv den med
echo $row[vaerdi];
Avatar billede erikjacobsen Ekspert
14. juni 2008 - 17:28 #4
"skal ikke kunne ændres" - det er forhåbentlig ikke kritisk, enhver hacker kan gøre det.
Avatar billede nemlig Professor
14. juni 2008 - 17:39 #5
Super - det var lige "hidden" der manglede. Nu fungerer det.
Erik: Formularen anvendes i SESSIONS og er beskyttet med et login-system. 
Sender supersquirrel et svar.
Avatar billede kjeldsted Novice
14. juni 2008 - 17:39 #6
Hvis brugeren skal kunne se feltet, ikke kunne rette i det og værdien skal kunne overføres, kan du vel også bare sætte feltet til Readonly i stedet for disabled.

Og så hav også lige erikjacobsen's kommentar med i overvejelserne. Hvis der er tale om værdier brugeren under INGEN omstændigheder må ændre er det ikke den bedste idé at lave det i HTML. Så heller bruge noget PHP Session eller ligende.
Avatar billede supersquirrel Nybegynder
14. juni 2008 - 19:14 #7
Som de andre siger, vil det være en god idé med at overveje det sikkerhed der.
Men her er et svar :)
Avatar billede nemlig Professor
14. juni 2008 - 19:38 #8
Jeg forstår ikke lige det med sikkerheden.
Min inputformular ligger i en SESSION, som kræver et login.
Kan kun se, at det er et problem, hvis den "legale" bruger er logget ind, og vil hacke...
Avatar billede erikjacobsen Ekspert
14. juni 2008 - 19:53 #9
Det er vel også et problem. Men det er umiddelbart løst ved at have værdien i en sessions-variabel, i stedet for kun i formularen.
Avatar billede nemlig Professor
14. juni 2008 - 20:09 #10
Det kan jeg godt se. Tak for inputtet.
Avatar billede supersquirrel Nybegynder
14. juni 2008 - 20:09 #11
Tak for point
Avatar billede dkfire Nybegynder
14. juni 2008 - 23:08 #12
Hvordan får man et inputformular til at ligge i SESSION ???
Og hvad har det med hvad der bliver vist af html for brugeren ??
Avatar billede supersquirrel Nybegynder
14. juni 2008 - 23:17 #13
$_SESSION[vaerdi] = $row[vaerdi];

Så kalder du bare $_SESSION[vaerdi] istedet for $row[vaerdi] :))
Avatar billede olebole Juniormester
14. juni 2008 - 23:27 #14
<ole>

Hvorfor så ikke kalde $_SESSION["vaerdi"] i stedet for $_POST["vaerdi"]? Specielt, når $_POST["vaerdi"] i realiteten kan indeholde hvad somhelst  =)

/mvh
</bole>
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