24. november 2005 - 18:23
Der er
17 kommentarer og 1 løsning
Sende Javascript array videre fra form til PHP
Jeg har et array i javascript som jeg skal have sendt videre til en anden PHP side. Men jeg har ikke kunne få det til at virke...
Hvem kan vise mig hvordan jeg får sendt et javascript array videre til en anden PHP side ?
Jeg anvender PHP 4.
Følgende har jeg forsøgt at bruge uden held, som ellers lige er hvad jeg mangler!
http://www.hscripts.com/tutorials/php/jsArrayToPHP.php
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
24. november 2005 - 18:41
#1
JS er klientside, PHP server Men er det en formular som der "gøres noget ved" med javascript, så lav et hidden felt, som får den value som javascript laver, og brug det så ved submit i PHP
24. november 2005 - 18:43
#2
Enig... jeg kan bare ikke få det til at virke! Er der nogen som kan hjælpe ?
24. november 2005 - 18:52
#3
Noget kode til det JS vil nok hjælpe! Og spørg du hellere i javascript kategorien! :O) Men en hurtig: <input type="hidden" name="my_array" value=""> <input type="radio" name="test" value="var" onmouseup="this.form.my_array.value='noget tekst'">
24. november 2005 - 19:58
#4
Når du skal have dit array fra JavaScript over i PHP, skal brugeren så igennem en formular først? For så har jeg da en løsning.
25. november 2005 - 14:37
#5
For at få PHP til at se post'ed data som et array, kan du definere en serie hidden felter sådan: <input type="hidden" name="my_array[]" value="tekst"> <input type="hidden" name="my_array[]" value="4389237849"> <input type="hidden" name="my_array[]" value="dfklsdfsd"> Hvilket vil give Array ( 0=>tekst, 1=>4389237849, 2=>dfklsdfsd ) på server-side PHP.
25. november 2005 - 14:38
#6
det er altså hvis du bruger print_r($_POST['my_array']);
27. november 2005 - 13:59
#7
Egeriis: Jeps, javascript arrayet "hentes" fra en form!
27. november 2005 - 14:00
#8
Er der ikke en som har noget konkret kode som virker, så jeg kan se et eksempel på det ?
27. november 2005 - 15:06
#9
Så'n måske? <html><head> <script type="text/javascript"> var my_array = new Array(); my_array[0] = "Hvad?"; my_array[1] = "Hvad sker her?"; my_array[2] = "Noget javascript"; </script> </head> <body> <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post"> <input type="hidden" name="hide" value=""> <input type="submit" value="Test" onclick="this.form.hide.value=my_array.toString();"> <p> </form> <?php if(isset($_POST["hide"])) { $all = explode(",", $_POST["hide"]); for($i = 0; $i < count($all); $i++) { echo $all[$i] ."<br />\r\n"; } } ?> </body></html>
27. november 2005 - 17:15
#10
--> showsource: Takker! Jeg fandt min fejl :) Jeg brugte dette til at parse arrayet til PHPs hidden variable: "var hide = MyArray.toString();" Men det skulle åbenbart hedder: "document.form.hide.value = MyArray.toString();" Jeg takker for din hjælp som førte mig til min fejl (og rettelse) Smid svar showsource hvis du vil have point!
27. november 2005 - 17:32
#11
ok
27. november 2005 - 18:13
#12
Så vil jeg også komme med en konkret stump kode: <html><head> </head> <body> <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post"> <input type="hidden" name="hide[]" value="Hvad?"> <input type="hidden" name="hide[]" value="Hvad sker her?"> <input type="hidden" name="hide[]" value="Noget ikke-javascript"> <input type="submit" value="Send et array!"> <p> </form> <? if (isset($_POST['hide'])) { print_r($_POST['hide']); } ?> </body></html>
27. november 2005 - 18:20
#13
27. november 2005 - 18:32
#14
Jeg beklage at jeg har været langsom til at forstå hvad den helt præcise opgave var.. Men jeg tror at jeg er kommet frem til det x4all_dk er ude efter, på ovenstående links.
27. november 2005 - 18:32
#15
Du kan jo lave din form således: <form> <script type="text/javascript"> for (i=0; i<MyArray.length; i++) { document.write('<input type="hidden" name="MyArray[]" value="'+MyArray[i]+'">'); } </script> --evt andre felter her-- </form> Nu har fixxxer selvf. også lagt et forslag, men ville da lige give min løsning med :)
27. november 2005 - 18:40
#16
egeriis >> konceptet er det samme, jeg bruger bare DOM metoden hvilket jo burde være at foretrække.
27. november 2005 - 18:40
#17
Jep, det er jo det :) Jeg ville også personligt vælge din løsning :)
30. november 2005 - 09:59
#18
Showsource var hurtigst så han får alle point.
Vi tilbyder markedets bedste kurser inden for webudvikling