Avatar billede xbobby Nybegynder
12. april 2005 - 17:59 Der er 7 kommentarer og
1 løsning

Værdi af variabel fra Javascript til PHP

Hej Eksperter

Jeg har en ganske almindelige form, som brugeren kan skifte baggrundsbillede. Hvordan få jeg overført den valgt value til en PHP variabel. Lad os bare kalde den $baggrund i PHP.

Helt præcist hvordan gør jeg det?

------------------------------------------------------------

Her et lille udsnit af form:

<form name="change_bg" action="#" method="post" style="display: inline">
  <select style="background-color:#ffffff;color:#00447E;" onchange="document.body.style.backgroundImage='url('+this.value+')'">
Avatar billede busschou Praktikant
12. april 2005 - 18:02 #1
Hvis du giver din select et name="baggrund"
Så kan du vel sætte følgende
$baggrund = $_POST['baggrund']
Avatar billede sone Nybegynder
13. april 2005 - 12:26 #2
i din HTML/JavaScript skal du sørge for at værdien af baggrund kommer ind i et INPUT felt i formen.
En anden måde er at ændre formens action, så din værdi kommer med som en URL-parameter (fil.php?baggrund=værdi)
Avatar billede xbobby Nybegynder
13. april 2005 - 19:42 #3
Tak for jeres svar - jeg kikker på dem torsdag eller fredag og så vender jeg tilbage - okay ?
Avatar billede xbobby Nybegynder
14. april 2005 - 11:47 #4
Til busschou
Jeg ønsker at blive på den side jeg er på. Da Javascriptet gør at baggrunden automatisk bliver skiftet uden at hele siden skal opdateres på ny, så derfor tror jeg ikke at jeg bruge $baggrund = $_POST['baggrund'], da den forudsætter en opdatering af selve siden.

Til Sone
Jeg forstår ikke hvorfor værdien skal ind i et input felt, i forhold til det det jeg har brug. Læs den uddybende forklaringen nedenunder :-) Du har ret i at jeg kan overfører en variabel med en url, men det forudsætter at jeg ønsker at opdatere siden. Se min uddybende forklaring.

Det som jeg har brug for er en kobling mellem javascriptet og PHP, sådan at værdien af onchange="document.body.style.backgroundImage='url('+this.value+')'"> bliver sat til en PHP variabel som f.eks kunne være $baggrund. Derefter vil jeg så gemme variablen i en session - det kan jeg godt finde ud af - det er overførslen af værdien af variablen fra Javascript til PHP der er mit problem.

Kan I eller andre lave overgangen mellem javascript og php uden opdatering, så er de 60 point Jeres. Hvordan jeg gemmer dem klare jeg selv okay :-)

For øvrigt tak for jeres forslag - de er værdsat :-)
Avatar billede busschou Praktikant
14. april 2005 - 11:51 #5
Jeg ved ikke hvordan du vil lave det uden opdatering af siden
PHP kører på serveren og alt PHP er jo kørt af inden dit javascript?
Avatar billede xbobby Nybegynder
14. april 2005 - 13:39 #6
Reelt er det på nuværende tidspunkt lavet uden opdatering, så problemet er:

Hvordan sætter jeg den værdi som javascriptet har sat lig med PHP variablen $baggrund.

Du kan godt lave PHP ting inde på en siden, efter at den er blevet vist blot du har de PHP tags der skal til. Prøv f.eks at lægge dette i body <?php echo "Hej med dig"; ?>
Avatar billede xbobby Nybegynder
30. april 2005 - 14:52 #7
Ingen svar på mit sidste spørgsmål, så jeg lukker spørgsmålet. Til jer der forsøgte tak for nogle interessante tanker :-=
Avatar billede busschou Praktikant
30. april 2005 - 14:59 #8
Jeg havde ikke set dit sidste indlæg :o(
Du kan ikke lave PHP ting inde på din side efter den er vist!
Din php kode bliver fortolket _inden_ siden vises
Det echo du laver i din body bliver lavet på serveren _inden_ den sender filen til din browser i html format
Det du ønsker er at brugeren skal kunne vælge fra en select boks i sin browser og gemme det i php på din server _uden_ at opdatere siden...altså uden at sende koden til din server...¨
Det er ikke muligt
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