Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][PHP]Problem z przekazaniem zmiennej z PHP do JS, Mam problem z przekazaniem zmiennej typu string z PHP do JS
mckasp
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 24.08.2009

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


Dla wielu moje mój problem jest bardzo banalny... a ja nad nim spędziłem już wiele godzin.

Mam zmienną w PHP $wynik i chciałbym ją odczytać w javie

zastosowałem po = <?php echo $wynik?>; ale niestety nie działa.

dodam, że zmienna jest typu string.

Proszę o pomoc
Go to the top of the page
+Quote Post
ayeo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


Witaj na forum!

Twój sposób jest dobry. Błąd musi tkwić w czymś innym.
Kod
echo '<script>';
echo 'var test = "works!";';
echo 'alert(test);';
echo '</script>';


Takie coś działa?
Go to the top of the page
+Quote Post
mckasp
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 24.08.2009

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


Witam rano...

Nadal problem...

Opiszę to bardziej szczegółowo

Robię wyświetlanie maps google na stronie. Adres chcę podawać z kodu w UK. Kod mam zapisany w SQL. W PHP odczytuję go poprawnie w postaci zmiennej

$wynik

poprawność tego odczytu sprawdzam poprzez

<?php echo $wynik;?>

i jest ok (IMG:style_emoticons/default/smile.gif)


Następnie w java script..

geo = new GClientGeocoder();
var po = <?php echo $wynik?>;
var adres=po+', UK';
geo.getLatLng(adres,function(punkt)
........

nie odczytuje mi kodu, natomiast gdy sprawdzam

geo = new GClientGeocoder();
var po = "g128as" // tu poprawny kod pocztowy
var adres=po+', UK';
geo.getLatLng(adres,function(punkt)
.........


wszystko działa...
Go to the top of the page
+Quote Post
ziqzaq
post
Post #4





Grupa: Zarejestrowani
Postów: 428
Pomógł: 128
Dołączył: 17.06.2007

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


Cytat
poprawność tego odczytu sprawdzam poprzez

<?php echo $wynik;?>

i jest ok

Tzn? Co dostajesz? Np. g128as czy 'g128as' czy może "g128as".
Strzelam, że wrzucasz ciąg znaków bez apostrofów w zaznaczonej linijce.
[JAVASCRIPT] pobierz, plaintext
  1. geo = new GClientGeocoder();
  2. var po = <?php echo $wynik?>;
  3. var adres=po+', UK';
  4. geo.getLatLng(adres,function(punkt)
[JAVASCRIPT] pobierz, plaintext

Pozdr.
Go to the top of the page
+Quote Post
mckasp
post
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 24.08.2009

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


dostaję

g128as
Go to the top of the page
+Quote Post
phpion
post
Post #6





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Czy naprawdę tak ciężko wpaść na to, że należy zmienić to:
  1. var po = <?php echo $wynik?>;

na to:
  1. var po = "<?php echo $wynik?>";

Chcesz mieć stringa to go sobie stwórz!
Go to the top of the page
+Quote Post
mckasp
post
Post #7





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 24.08.2009

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


No, trudno... bo z javą "znam się" od wczoraj (IMG:style_emoticons/default/winksmiley.jpg)

Po wniesionej poprawce otrzymuję komunikat błędu:

Array, uk nie został znaleziony...
Go to the top of the page
+Quote Post
ziqzaq
post
Post #8





Grupa: Zarejestrowani
Postów: 428
Pomógł: 128
Dołączył: 17.06.2007

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


Po pierwsze: Javascript != Java!
Po drugie:
Dam sobie rękę uciąć, że $wynik to tablica otrzymana z mysql_fetch_*. (IMG:style_emoticons/default/sciana.gif)
Przecież masz źródło strony tak? Popatrz sobie nie na kod javascript - sprawdź co masz w zmiennej "po".

Ten post edytował ziqzaq 25.08.2009, 08:31:19
Go to the top of the page
+Quote Post
thek
post
Post #9





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Nie wiem czy to cała linijka, ale dziwi mnie, że masz:
  1. geo.getLatLng(adres,function(punkt)
zamiast
  1. geo.getLatLng(adres,function(punkt) )
Jeśli to fragment większego skryptu daj go nieco więcej a najlepiej sprawdź która linijka zwraca Ci błąd. Poza tym zastanawiam się czy w tej linii nie musisz aby podać kodu funkcji zamiast tylko współrzędnych punktu. Z GoogleMaps API korzystałem, ale geokodowania nie potrzebowałem jeszcze więc na razie odpuściłem ten dział (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
mckasp
post
Post #10





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 24.08.2009

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


Javascript != Java!

ziqzaq masz rację!, sorry za moje ignoranctwo (IMG:style_emoticons/default/winksmiley.jpg)

Szanuj swoją rękę (IMG:style_emoticons/default/biggrin.gif)


$w = mysql_fetch_row($result);
...
...

<? $wynik = $w[6] ?>

<?php echo $w;?> // i tu podaje mi właściwą wartość


w javascript


var po = "<?php echo $wynik?>";
var adres=po+', UK';


Jak sprawdzić zmienną "po"...?


thek, to tylko fragment kodu, problem mam jedynie ze zmienna "po"
Go to the top of the page
+Quote Post
ziqzaq
post
Post #11





Grupa: Zarejestrowani
Postów: 428
Pomógł: 128
Dołączył: 17.06.2007

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


Wybacz, ale jedziesz już po bandzie, i to ostro.
Zagadka tygodnia: jak podać właściwą wartość?
  1. <?php echo $w;?> // i tu podaje mi właściwą wartość
  2. var po = "<?php echo $wynik?>"; // tu najwyrazniej jest ZŁA wartość

Sam wymyśl odpowiedź.

Cytat
Jak sprawdzić zmienną "po"...?

Otwórz stronę w przeglądarce, wyświetl źródło (np. Opera, Ctr+U) i voila. (IMG:style_emoticons/default/dry.gif)
Go to the top of the page
+Quote Post
mckasp
post
Post #12





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 24.08.2009

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


Victoria!

Zrobiłem "literówkę" w nazwie zmiennej...

Ważne, że jest ok

Dzięki wszystkim za zaangażowanie (IMG:style_emoticons/default/smile.gif)
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: 23.08.2025 - 07:40