Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP] Pobranie danych z PHP do JS ?
Forum PHP.pl > Forum > Przedszkole
mastercherat
Witam,

proszę o pomoc.

Potrzebuję skorzystać z danych za PHP w JS.

Sytuacja wygląda tak, że mam plik .php w którym w pewnym miejscu są dane wynikowe w postaci formularza:

  1. <form action="components/com_sobi2/install1.php" method="post">
  2. <input name="item_name" value="<?php echo $title;?>" type="hidden">
  3. <input src="<?php echo $config->liveSite;?>/components/com_sobi2/images/pay.jpg" name="submit" border="0" type="image">
  4. </form>


Czyli wysyłam sobie dane pod nazwą "item_name" do kolejnego pliku install1.php
i w tym pliku dane te moge bez problemu wyświetlić

Następnie w pliku install1.php ma w pewnym miejscu
  1. <script src="frontend-js.php"></script><br>


i właśnie w tym pliku chciałbym mieć możliwość użycia danej "item_name"

np. w tym miejscu pogrubionym, zamiast danych z tablicy MySQL które są w tym miejscu.
  1. $o .= '<a href="http://'.$_SERVER['HTTP_HOST'].'/'.dirname($_SERVER['PHP_SELF']).'/frontend-cc.php?o='.$opt['pid'].'&op='.$op.'&'.$ref.'">'.[b]$opt['reference'][/b].''.$opt['pid'].'('.number_format($opt['amount']/1,2).'zł)</a><br>';
Spawnm
Proszę dodać BBcode.
Agape
Zwyczajnie odczytujesz wartości parametrów w elementach html. Polecam do tego jQuery. Całkiem bardzo dobry framework.
mastercherat
Kurcze, jestem całkowicie zielony w tym temacie sad.gif mniej niż zero...

myślałem o wykorzystaniu takiego czegoś jak na trej stronce

http://www.poradnik-webmastera.com/artykul..._javascript.php

konkretnie to w tym drugim pliku PHP install1.php wstawiłem kawałek kodu:

  1. <form action="frontend-js.php" method="post">
  2.  
  3.  
  4. <input name="item_name" value="<?php echo $_POST['item_name'];?>" >
  5.  
  6. <input src="<?php echo $config->liveSite;?>/components/com_sobi2/images/paypal.jpg" name="submit" alt="<?php echo_SOBI2_PAY_WITH_PAYPAL;?>" border="0" type="image">
  7. </form>


oraz w pliku js w miejscu gdzie ma się pojawić ta wartość


f.item_name.value


niestety gdy to wszystko wykonuję to w żądanym miescu pojawia się:

fitem_namevalue

zamiast wartości jak tam powinna być.
Blame
Nie jestem dobry w js ale z tego co podałeś to wydaje mi się że to "f" to ma być id formularza.
Fafu
  1. <script type="text/javascript">
  2. var jakas_wartosc = '<?php echo $_POST['jakas_wartosc']; ?>';
  3. </script>
  4. <script src="frontend-js.php"></script>

I w pliku frontend-js.php odwołujesz się do zmiennej "jakas_wartosc".
mastercherat
Cytat(Fafu @ 22.11.2009, 13:49:38 ) *
I w pliku frontend-js.php odwołujesz się do zmiennej "jakas_wartosc".


no ale co w tym pliku napisać żeby pojawiała się wartość która jest zapisana w zmiennej "jakas_wartosc", zamiast napisu jakas_wartosc ? sciana.gif
Fafu
przykladowy kod dla frontend-js.php:
[JAVASCRIPT] pobierz, plaintext
  1. alert(jakas_wartosc);
[JAVASCRIPT] pobierz, plaintext

i powinno ci wyskoczyć okienko z tekstem z formularza.
mastercherat
Kurcze poddaje się. A moze to nie jest java w ogóle...

wklejam cały kod pliku frontend-js.php

Przypominam ze plik ten jest wywołany poleceniem:
<script src="frontend-js.php"></script> z pliku install1.php, w którym to jeszcze mam dostępne dane z poprzedniego pliku PHP, z którego to zostały one przesłane jako dane formularza. i w pliku install!.ph mogę je bez problemu wyświetlić np. przez :
<?php echo $_POST['item_name'];

natomiast potrzebuję aby te dane wyświetlić w oknie które się pojawia po wywołaniu pliku frontend-js.php.

konkretnie chcę aby te dane dołożyć do tego fragmentu kodu:
$o .= '<a href="http://'.$_SERVER['HTTP_HOST'].'/'.dirname($_SERVER['PHP_SELF']).'/frontend-cc.php?o='.$opt['pid'].'&op='.$op.'&'.$ref.'">'.$opt['reference'].''.$opt['pid'].'('.number_format($opt['amount']/1,2).'zł)</a><br>';


  1. <?
  2. ///
  3. /// Frontend - wy&para;wietlenie listy kodów
  4. ///
  5. $prefix = dirname(__FILE__).'/';
  6. $cfg = parse_ini_file($prefix.'cashbill_setup.ini', true);
  7.  
  8. include_once($prefix.'libs/database.php');
  9. $payopts = $database->select($cfg['DB']['table'], '', 'pid');
  10.  
  11.  
  12. $url = 'http://'.$_SERVER['HTTP_HOST'].'/';
  13. $ref = $_GET['ref'] ? 'ref='.$_GET['ref'] : '';
  14.  
  15.  
  16. if (!is_writeable($prefix.$cfg['cashbill']['datadir']))
  17. {
  18. die();
  19. }
  20.  
  21. function pay($op, $payopts)
  22. {
  23. global $cfg, $prefix;
  24. if($cfg['version'] == 'wpp')
  25. {
  26. $ref = 'ref='.$cfg['konto'];
  27. }
  28.  
  29. foreach($payopts as $opt)
  30. {
  31. $o .= '<a href="http://'.$_SERVER['HTTP_HOST'].'/'.dirname($_SERVER['PHP_SELF']).'/frontend-cc.php?o='.$opt['pid'].'&op='.$op.'&'.$ref.'">'.$opt['reference'].''.$opt['pid'].'('.number_format($opt['amount']/1,2).'zł)</a><br>';
  32. }
  33.  
  34. $dirname = dirname($_SERVER['PHP_SELF']);
  35. return <<<END
  36. <div style="text-align:center;padding:1em;">
  37. <form method="post" action="{$dirname}/frontend-code.php">
  38. jeżeli masz już kod, wpisz go tutaj:<br><input name="pass"><input type="submit" value="ok">
  39. </form>
  40. {$o}
  41. <small>Na wyci&plusmn;gu opłata będzie figurować jako "<b>usługa internetowa</b>"</small>
  42. </div>
  43. END;
  44.  
  45. }
  46.  
  47.  
  48. function ads($s)
  49. {
  50. return str_replace('"', '\\"', $s);
  51. }
  52.  
  53. $logo = 'http://www.logo.cashbill.pl/neopay/';
  54.  
  55. $vars = array(
  56.  
  57. 'mtransfer'=>
  58. array('mbank',
  59. '<h1>mTransfer</h1><br><br>Przelew elektroniczny z mBanku.',
  60. htmlspecialchars(pay('mtransfer', $payopts)),
  61. '<b>Bezpieczne</b>, <b>szyfrowane</b> i <b>dyskretne<b> poł&plusmn;czenie.',
  62. ),
  63.  
  64. 'inteligo'=>
  65. array('inteligo',
  66. '<h1>Płacę z inteligo</h1><br><br>Przelew elektroniczny z Inteligo.',
  67. htmlspecialchars(pay('inteligo', $payopts)),
  68. '<b>Bezpieczne</b>, <b>szyfrowane</b> i <b>dyskretne<b> poł&plusmn;czenie.',
  69. ),
  70.  
  71. 'multitransfer'=>
  72. array('multitransfer',
  73. '<h1>MultiTransfer</h1><br><br>Przelew elektroniczny z MultiBanku.',
  74. htmlspecialchars(pay('multitransfer', $payopts)),
  75. '<b>Bezpieczne</b>, <b>szyfrowane</b> i <b>dyskretne<b> poł&plusmn;czenie.',
  76. ),
  77. 'cc'=>
  78. array('karty',
  79. '<h1>Karta płatnicza</h1><br>Akceptujemy wszystkie karty, których wystawca dopuszcza dokonywanie zakupów internetowych.',
  80. htmlspecialchars(pay('polcard_ero', $payopts)),
  81. '<b>Bezpieczne</b>, <b>szyfrowane</b> i <b>dyskretne<b> poł&plusmn;czenie.',
  82. ),
  83.  
  84. 'pol'=>
  85. array('pol',
  86. '<h1>Przelewy online</h1><br><br>Przelewy online dowolnym kanałem elekronicznym.<br>',
  87. htmlspecialchars(pay('przelewyonline', $payopts)),
  88. '<b>Bezpieczne</b>, <b>szyfrowane</b> i <b>dyskretne<b> poł&plusmn;czenie.',
  89. ),
  90.  
  91.  
  92. );
  93.  
  94. $html = '';
  95.  
  96. foreach($vars as $id=>$var)
  97. {
  98. list( $icon, $title, $code, $time ) = $var;
  99. $init .= <<<END
  100.  
  101. var on{$id}=0;
  102.  
  103. END;
  104.  
  105. $html .= <<<END
  106.  
  107. <tr>
  108.   <td
  109.   class="i"
  110.   onMouseOver="this.style.background='#eee';"
  111.   onMouseOut= "this.style.background='#fff';"
  112. >
  113.   <div
  114.  
  115.   onClick="
  116.  
  117.   var icon = document.getElementById('i{$id}');
  118.   var code = document.getElementById('c{$id}');
  119.  
  120.   if (on{$id}==1)
  121.   {
  122. on$id=0;
  123. code.innerHTML='';
  124.   }
  125.   else
  126.   {
  127. on$id=1;
  128. code.innerHTML='{$code}';
  129.   }
  130.  
  131. ">
  132.  
  133. <img id="i{$id}" src="{$logo}{$icon}.jpg" width="68" height="68" style="float:left;margin:4px;">
  134. {$title}
  135.   </div>
  136. <div id="c{$id}"></div>
  137.   </td></tr>
  138. <tr><td><div class="t">{$time}</div></td>
  139. </tr>
  140.  
  141. END;
  142.  
  143. }
  144.  
  145.  
  146. $css = <<<END
  147.  
  148. <style>
  149.  
  150. .i h1
  151. {
  152.   margin:0;
  153.   padding:0;
  154.   padding-top: 2px;
  155.   font: 18px verdana;
  156.   font-weight: bold;
  157.   color: #e00;
  158. }
  159. td.i
  160. {
  161.   font: 11px verdana;
  162.   border:1px solid black;
  163.   border-bottom:none;
  164.   background:#fff;
  165.   cursor: hand;
  166. }
  167. .t
  168. {
  169.   border:1px solid black;
  170.   font: 11px verdana;
  171.   border-top: none;
  172.   margin-bottom: 4px;
  173.   background: #ccc;
  174.   text-align: right;
  175. }
  176.  
  177. form
  178. {
  179.   margin: 0;
  180.   padding: 2px;
  181. }
  182.  
  183. .i div
  184. {
  185.   margin-top: 14px;
  186.   border-top: 1px solid #ccc;
  187. }
  188.  
  189. .i small
  190. {
  191.   color: #888;
  192. }
  193. .i a
  194. {
  195.   color: black;
  196.   font-weight:bold;
  197. }
  198. .i a:hover
  199. {
  200.   color: red;
  201. }
  202. </style>
  203.  
  204. END;
  205.  
  206. $html = strtr($css.'<table align="center" cellspacing=0 cellpadding=0 width="400">'.$html.'</table>', "\n\r", " ");
  207. $html = str_replace("'", "\\'", $html);
  208.  
  209. echo <<<END
  210.  
  211. $init
  212.  
  213. document.write('$html');
  214.  
  215. END;
  216. ?>


ok, wprawdzie dookoła ale jakoś sobie poradziłem.

poprostu wszyłem cały kodo frontend-js.php do install.php zamiast odwołania <script src="frontend-js.php"></script>

I teraz bez problemu mam dostępne wszystkie zmienne.
$_POST['item_name'] smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.