Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przekazanie wartości zmiennej z PHP do JavaScript
Forum PHP.pl > Forum > Po stronie przeglądarki
d4ng
Witajcie jak w tytule mam np:

  1. $zmienna = 'wartosc';


i chciałbym to podać do osobnego pliku js

  1. var zmienna = [pobrana zmienna z plik.php]
markuz
  1. <script type="text/javascript">
  2. var zmienna = '<?php echo $zmienna; ?>';
  3. </script>
  4. <script type="text/javascript" src="script.js"></script>


lub w pliku script.js tworzysz request np. get do pliku np. pobierzZmienna.php która zwróci $zmienna.
d4ng
Cytat(markuz @ 23.01.2015, 15:34:52 ) *
  1. <script type="text/javascript">
  2. var zmienna = '<?php echo $zmienna; ?>';
  3. </script>
  4. <script type="text/javascript" src="script.js"></script>


dziękuje, nie mniej jednak spodziewałem się takiej odpowiedzi dlatego pogrubiłem "osobnego". Czy mógłbyś mi przedstawić jakiś przykład odnośnie

Cytat
lub w pliku script.js tworzysz request np. get do pliku np. pobierzZmienna.php która zwróci $zmienna.
Forti
JA robie to w dosyć prymitywny sposób. Np. w danym elemencie:

  1. <span id=""someKindId" data-variable="{{ $variable }}">...</span>


i w plik.js po prostu:

  1. $("#someKindId").data('variable');

d4ng
Cytat(Forti @ 23.01.2015, 16:00:35 ) *
JA robie to w dosyć prymitywny sposób. Np. w danym elemencie:

  1. <span id=""someKindId" data-variable="{{ $variable }}">...</span>


i w plik.js po prostu:

  1. $("#someKindId").data('variable');



na pewno uzycie atrybutu "data-" nie jest prymitywne i jak najbardziej słuszne nie mniej jednak mój plik php jest back-endem a dokładnie
  1. $code = substr(str_shuffle(md5(time())), 0, 8);


teraz potrzebuje przenieść tą wartość do js.
Ps. nie zależy mi na wygenerowaniu ciągu znaków po stronie js tylko o przeniesienie wartości z php do oddzielnego pliku js. Nie moge tego zrobć w sessji bo ona działa po stronie serwera
Forti
Używasz jakiegoś narzędzia w postaci frameworka / routingu? Jeżeli nie, możesz zrobić plik:

zmienna.php, w nim:

  1. if ($_GET['code'] == 'someKindCode') {
  2. return $code = ...; // twój wygenerowany kod itp.
  3. }


Ajaxem robisz zapytanie pod ten, przekazując jako get 'someKindCode' i jeżeli się zgadza to wyświetlasz sobie swoją zmienną i w javascripcie po prostu dostajesz return (ajax).

Oczywiście ta metoda nie jest bezpieczna itp. wink.gif


Co znaczy "sesja po stronie serwera"? ;] Możesz także tą zmienną zapisać jako stałą globalną (jeżeli się nie zmienia gdzieś po drodzę) i znowu w html ją wyświetlić znowu moją metodą opisaną poprzednio.
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.