stefik4
25.07.2010, 11:51:18
Witam mam taki kod JS:
<?php
$zap = 'SELECT `vip` FROM `teams` WHERE `id`="'.$_SESSION['id'].'"';
$test = 'test';
?>
var zap =
<?php echo $zap; ?>;
var test =
<?php echo $test; ?>;
alert(test);
i alert nie wyswietla mi tego słowa "test" tylko puste okienko ;/
bastard13
25.07.2010, 12:02:07
Zapomniałeś o apostrofach, które powinny otaczać stringa:
var test = '<?php echo $test; ?>';
piku235
25.07.2010, 12:02:20
Po pierwsze brakuje ci cudzysłowia przy definiowaniu var zap, test i zapomniałeś o formule HTML. Twój kod powinien wyglądać następująco:
<?php
$zap = 'SELECT `vip` FROM `teams` WHERE `id`="'.$_SESSION['id'].'"';
$test = 'test';
?>
<script type="text/javascript">
var zap = '
<?php echo $zap; ?>';
var test = '
<?php echo $test; ?>';
alert(test);
</script>
stefik4
25.07.2010, 18:52:08
bastard13 zrobiłem tak jak napisałeś i oto wynik:
piku235 ten kod co podałem jest cząsta mała dużego pliku JS wiec formuła html odpada bo plik JS jest podawany na stronie HTML normnalnie (<script src="link">).
Nadal nie wiem jak to zrobić
Skie
25.07.2010, 19:32:19
Jeżeli to jest w pliku *.js, razem z kodem PHP, który jest dodawany w headzie do strony, to to nie ma prawa działać. Musisz zrobić to całkiem inaczej. Kod PHP wykonać na stronie, wyniki wrzucić jako argumenty do funkcji JS, która dopiero zapisze je do zmiennych, które chcesz i wyświetli na stronie.
thomson89
25.07.2010, 19:33:30
Spróbuj tak to zrobić. Powinno działać

<?php
$zap = 'SELECT `vip` FROM `teams` WHERE `id`="'.$_SESSION['id'].'"';
$test = 'test';
?>
<script type="text/javascript"> <?php echo 'var zap = \''.$zap.'\';';
echo 'var test = \''.$test.'\';'; ?>
alert(test);
--EDIT:
Sprawdzałem u siebie na localu - działa.
stefik4
25.07.2010, 19:42:07
Przerobiłem skrypt tak jak napisał Skie i jest ok.
thomson89
25.07.2010, 19:44:35
Ale wcale tak nie musiałeś. Łatwiejszym (dla mnie sposobem) byłoby rozszerzenie wyświetlania JS o kilka znaków wcześniej.
Ale, jak kto lubi...