Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> PHP W JS
bartek1234321
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 16.01.2011

Ostrzeżenie: (0%)
-----


Mam nadzieje że ktoś zna odpowiedź na to pytanie:)

Mam plik jakiśtam.js jest on inkludowany na główną stronę rzecz jasna i potrzebuje w tym pliku umieścić trochę php, chcę tylko pobrać pewną zmienną.
Mam tak zrobione, w ramach testów:
<?php
$sesja = "test";
?>

administracja = function()
{
var x = <?php echo $sesja; ?>;
alert(x);
}

niestety nie działa to, pojawiam sie sam alert bez żadnego tekstu... Co musze poprawić (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
MateuszS
post
Post #2





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

Ostrzeżenie: (0%)
-----


kod PHP nie działa w plikach .js daj zamiast .js - .php
Go to the top of the page
+Quote Post
wdev
post
Post #3





Grupa: Zarejestrowani
Postów: 86
Pomógł: 20
Dołączył: 20.01.2010

Ostrzeżenie: (0%)
-----


A czemu nie działa? Wystarczy odpowiednio skonfigurować serwer... Chociaż rzeczywiście wygodniej jest nazwać plik jako .php, a później wysłać odpowiedni header:
  1. header("content-type: application/x-javascript");
Go to the top of the page
+Quote Post
bartek1234321
post
Post #4





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 16.01.2011

Ostrzeżenie: (0%)
-----


i pozniej do pliku php wrzucić <script type="text/javascript">i tutaj js umieszczać i będzie śmigać (IMG:style_emoticons/default/questionmark.gif) </script>

a na początku strony moge zrobić tak <script type="text/javascript" src="plik.php"> (IMG:style_emoticons/default/questionmark.gif) czy include (IMG:style_emoticons/default/questionmark.gif) ale wartałoby na początku bo mam też tam coś takiego

window.onload = function(){
// bla bla bla
}
Go to the top of the page
+Quote Post
maly_swd
post
Post #5





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

Ostrzeżenie: (0%)
-----


i jeszcze skladnia:
<?php
$sesja = "test";
?>

administracja = function()
{
var x = <?php echo $sesja; ?>;
alert(x);
}

poprawnie

<?php
$sesja = "test";
?>

administracja = function()
{
var x = '<?php echo $sesja; ?>';
alert(x);
}
Go to the top of the page
+Quote Post
Spawnm
post
Post #6





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Bartek i maly_sword - proszę używać BBCode.
@Brartek - jeśli plik .php ma robić za plik .js to w tym pliku <script type="text/javascript"> nie dajemy, traktujemy go jak zwykły plik .js
Go to the top of the page
+Quote Post
Fifi209
post
Post #7





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Co do pobierania zmiennych z php do javascript, ogólnie to chyba najprościej walnąć ajaxem.
Go to the top of the page
+Quote Post
Crozin
post
Post #8





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cytat
Co do pobierania zmiennych z php do javascript, ogólnie to chyba najprościej walnąć ajaxem.
Nie wypisuj bzdur.

  1. inkludowany, co? Język polski ma takie ładne wyrazy jak wczytywać czy dołączać.
  2. Nigdy, ale to nigdy nie rób czegoś takiego:
    [JAVASCRIPT] pobierz, plaintext
    1. var abc = '<?php echo $abc ?>';
    [JAVASCRIPT] pobierz, plaintext
    To proszenie się o kłopoty. Dane przekaż w formacie JSON wykorzystując json_encode do przygotowania danych.
  3. Nie wrzucaj PHP w zewnętrzne pliki - to niepotrzebne komplikowane sobie życia. Dobrym rozwiązaniem jest umożliwienie konfiguracji Twoich skryptów:
    [JAVASCRIPT] pobierz, plaintext
    1. // Zewnętrzny skrypt
    2.  
    3. var MyProject = {
    4. init: function(options) {
    5. alert(options.name);
    6. }
    7. };
    [JAVASCRIPT] pobierz, plaintext
    1. <script src="/scripts/myproject.js"></script>
    2. MyProject.init({
    3. name: "Crozin"
    4. });
    Dzięki temu możesz bardzo przekazać interesujące Cię zmienne:
    1. <?php
    2.  
    3. $jsData = json_encode(array(
    4. 'name' => $_SESSION['user']['name']
    5. ));
    6.  
    7. ?>
    8. <script>
    9. MyProject.init(<?php echo $jsData ?>);
    10. </script>


Ten post edytował Crozin 17.01.2011, 14:46:02
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 20:59