Madness Opublikowano 12 Lutego 2014 Udostępnij Opublikowano 12 Lutego 2014 Witam. :bye1: Problem jest następujący, w php stworzyłem sobie zmienną $zCount = 3, następnie w js starałem się zczytać wartość tej zmiennej, ale bez skutku. Zczytywałem zgodnie z tym co piszą na forach: count = "<?php $zCount ?>"; Nie wiem, czy ja robie coś źle, czy trzeba to jakoś inaczej zrobić ? W internecie podawali też zapis "<?= $zCount ?>", ale też bez skutku. To w zasadzie jedyne co robie w funkcji js. :mellow: Z góry thx za pomoc. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 12 Lutego 2014 Udostępnij Opublikowano 12 Lutego 2014 count = "<?php echo $zCount; ?>"; To powinno być ok. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Madness Opublikowano 12 Lutego 2014 Autor Udostępnij Opublikowano 12 Lutego 2014 Jak wypisuje sobie potem zmienną alertem, to ma taką wartość: <?php echo $variable; ?> Za nic nie chce wczytać wartości tej zmiennej. Przed znacznikiem html mam: <?php $variable = 3; ?> I w head wczytuje plik js, z czego funkcja wygląda tak: function getZCount() { count = "<?php echo $variable; ?>"; alert( count ); } I po wyświetleniu się alerta, pokazuje wartość: <?php echo $variable; ?> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 12 Lutego 2014 Udostępnij Opublikowano 12 Lutego 2014 No to ta funkcja jest poza plikiem PHP? Zasięg zmiennych nie sięga za pliki. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Madness Opublikowano 12 Lutego 2014 Autor Udostępnij Opublikowano 12 Lutego 2014 W takim razie, możesz mi powiedzieć jak to zrobić ? W zasadzie chce tylko sprawdzić ile plików jest w danym katalogu, z czego czytałem, że js nie ma takiej opcji a php udostępnia funkcje count(glob('scieżka')). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 12 Lutego 2014 Filar Społeczności Udostępnij Opublikowano 12 Lutego 2014 Napisz co dokładnie chcesz uzyskać, bo nic z tego nie rozumiem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Madness Opublikowano 12 Lutego 2014 Autor Udostępnij Opublikowano 12 Lutego 2014 Chce się dowiedzieć ile plików mam w danym folderze. Ale chce tą ilość plików zachować w zmiennej utworzonej w skrypcie js. Teraz pytam was, jak to zrobić? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 12 Lutego 2014 Udostępnij Opublikowano 12 Lutego 2014 Możesz wydrukować tą zmienną do jakiegoś diva a potem ją wczytać jako tekst :). Albo cookies? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 12 Lutego 2014 Filar Społeczności Udostępnij Opublikowano 12 Lutego 2014 PHP jest językiem wykonywanym po stronie serwera, natomiast Javascript językiem wykonywanym po stronie klienta. To co wygenerujesz phpem jako html, będzie tylko statycznym tekstem, chyba, że phpem wygenerujesz stronę htmlową ze znacznikiem script i skomponujesz odpowiedni kod javascriptowy, np: <html> <head> </head> <body> <script>alert( <?php echo $zmienna;?> );</script> </body> </html> To co Tobie podano wcześniej, to jest rozwiązanie tylko właściwe gdy kod javascriptowy jest generowany przez phpa. Natomiast jeśli chcesz wczytywać osobny, zewnętrzny plik javascriptowy, to sprawa wygląda zupełnie inaczej. Są dwa wyjścia: 1. Wyłuskiwanie z treści strony odpowiedniej wartości: a) Generujesz w phpie specjalny znacznik z wartością i nadajesz id temu znacznikowi. B) Tworzysz w javascripcie funkcję, która uruchomi się po wczytaniu całej treści html. c) Odniesiesz się do znacznika poprzez id i pobierzesz tekst znacznika. Przykład: <html> <head> <script> function start() { var zm = document.getElementById('zmienna'); alert(zm.innerText); } window.onload = start; </script> </head> <body> <div id="zmienna" hidden><?php echo $zmienna;?></div> </body> </html> W powyższym przykładzie treść js wrzucasz w osobny plik javascriptowy linkowany w head. Drugi sposób to po prostu specjalne zapytanie ajaxowe do strony php, która zwróci tylko wartość zmiennej np. poprzez strukturę json. W tym celu dla ułatwienia skorzystaj z jquery. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Madness Opublikowano 12 Lutego 2014 Autor Udostępnij Opublikowano 12 Lutego 2014 Dobra, dzięki nie mam się co bawić w ajaxa(zwłaszcza, że nic z niego nie umiem), skorzystam z tego sposobu w którym wartość zapisuje do znacznika, a potem sobie w js z niego odczytam. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 12 Lutego 2014 Udostępnij Opublikowano 12 Lutego 2014 A nie może być po prostu: <html> <head> <script type="javascript"> var obj = { zmienna: <?php echo $zmienna; ?>, }; </script> <script type="javascript" src="plik.js"></script> </head> <body> (...) </body> </html> ? A plik JS może wyglądać tak: window.onload = function() { alert(obj.zmienna); } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Madness Opublikowano 12 Lutego 2014 Autor Udostępnij Opublikowano 12 Lutego 2014 Szczerze to, jak odpaliłem twój kod na webserv'ie, to alert się nawet nie wyświetlił. Zedytowałem go tylko w ten sposób, że zamiast wypisywania zmiennej, wypisałem '3' w php. W przypadku kodu Ranmusa, to alert wypisuje Undefined, a jak zamienie innerText na innerHTML, to <!--?php echo "3"; ?-->. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 12 Lutego 2014 Filar Społeczności Udostępnij Opublikowano 12 Lutego 2014 @Kongrad-GM: Ano fakt. Te rozwiązane zapodane przez Ciebie nawet na gmclanie użyłem, hehehe. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 13 Lutego 2014 Udostępnij Opublikowano 13 Lutego 2014 Kongrad-GMDzięgki ;_; Szczerze to, jak odpaliłem twój kod na webserv'ie, to alert się nawet nie wyświetlił. Zedytowałem go tylko w ten sposób, że zamiast wypisywania zmiennej, wypisałem '3' w php. W przypadku kodu Ranmusa, to alert wypisuje Undefined, a jak zamienie innerText na innerHTML, to <!--?php echo "3"; ?-->. Zapewne serwer nie widzi pliku JS. Jeżeli korzystasz z Chrome/Firefox użyj narzędzi pod klawiszem F12, i sprawdź czy się w ogóle plik ładuje. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 13 Lutego 2014 Filar Społeczności Udostępnij Opublikowano 13 Lutego 2014 :) Do tego lepiej nie debugować alertem, tylko np. pod Chrome przy pomocy podglądu w narzędziach developerskich lepiej używać funkcji js: console.log(...). Dzięki temu można ładnie debugować nie tylko wartości lecz całe struktury obiektów. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Madness Opublikowano 15 Lutego 2014 Autor Udostępnij Opublikowano 15 Lutego 2014 Ok narazie nie chce mi się w to bawić, a mam na to jeszcze czas. Póki co dzięki za rady, może jutro się za to wezme ^^ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się