2011-02-07 2 views

ответ

5
// your PHP file which outputs HTML 
<script type="text/javascript"> 
    var jsVariable = <?php echo json_encode($phpVariable); ?> 
</script> 
+0

'$ phpVariable =" Добро пожаловать на этот сайт ";' ... – AlexanderMP

+0

Да, это не безопасность. Это просто прототип. – KomarSerjio

1

В вашем PHP код, который выводит HTML, в разделе <head>, перед использованием любого из переменных, можно использовать любой подходящий метод:

<script type="text/javascript"> 
    var someStringVariable = '<?php echo str_replace("'","\\'",$yourStringPHPVar);?>'; 
    var someObjectOrArrayVariable = <?php echo json_encode($phpArray); ?>; 
    var someNumericVariable = <?php echo $yourNumericPHPVar); ?>; 
</script> 
0

вы должны понять значение слова «Сервер- сторона "и" клиентская сторона ".

в основном, PHP является «порождающий» выход для браузера (и JS только часть этой продукции)

так, чтобы «передать переменную из PHP в JS» все, что вам нужно сделать, это просто «эхо» переменная ЯШ:

<script> 
<? 
//this is the php part 
echo "var myJsVar='hello';" 
?> 

var mySecondJsVar="<?=$phpVar?>"; 
</script> 
4

Никогда передать переменную как @Goran Jovic или @KomarSerjio предложил. Он просит неприятностей. Используйте команду JSON (json_encode()), которая будет готовить и фильтровать данные.

$data = json_encode(array(
    'myVar' => 123, 
    'anotherVar' => 'Hello "world"' 
)); 

... 

var data = <?php echo $data ?>; 

alert(data.anotherVar); 

Это гарантирует отсутствие ошибки.

+0

thx для ответов на ур ... но я использую его на стороне клиента. –

+0

вы не можете использовать PHP-клиент. PHP - это серверный язык. Вы должны не понимать ответ. PHP выведет реальные литералы, которые работают на Javascript, и клиент будет работать с чистым Javascript. – AlexanderMP

+0

Ответ KomarSerjio был исправлен, поскольку он имеет наибольшее количество голосов. Поэтому нужно использовать мое предложение, ваше или КомарСерджио, так как все они почти одинаковы. – AlexanderMP

Смежные вопросы