我試圖混合PHP和JavaScript,因爲我的JavaScript需要訪問一些PHP變量頁面加載時。我無法理解某些東西,並且我已經編寫了一個代碼示例。PHP與Java語言 - 什麼是PHP變量的<script></script>標籤內的範圍是什麼?
<?php
session_start();
$test = 100;
$_SESSION['test'] = 200;
?>
<html>
<head>
<title>Test This Out</title>
</head>
<body>
<h1> Testing Javascript and PHP Mixed </h1>
<p>
<?php
echo("The value of \$test is $test and the value of \$_SESSION['test'] is ");
?>
</p>
<p>
<script type="text/javascript">
<?php
session_start();
if(isset($test)) echo("document.write('Non-session variable exists and is $test <br />');");
else echo("document.write('Non-session variable does not exist<br />');");
if(isset($_SESSION['test'])) echo("document.write('Session variable exists <br />');");
else echo("document.write('Session variable does not exist<br />');");
?>
</script>
</p>
</body>
</html>
輸出的樣子:
Testing Javascript and PHP Mixed
The value of $test is 100 and the value of $_SESSION['test'] is
Non-session variable exists and is 100
Session variable exists
所以我想了解什麼類型的PHP變量的可用於腳本。看來,我已經叫$測試變量是可用的,但即使它知道
$_SESSION['test']
存在,如果我嘗試輸出該值(以完全相同的方式我輸出的
$test
變量),整個系統掛起。
我的問題是:1。 可以在JavaScript中使用PHP的「看」的變量,我定義在頁面早些時候? 2.爲什麼我試圖打印
$_SESSION['test']
變量使整個事情崩潰(在所有被渲染什麼)? 3.已經是第二
session_start(),
了一個腳本,有必要嗎?
感謝您的任何幫助。
我看到你已經得到了一些相當詳細/技術答案在這裏。如果你在你的教育階段,所有你需要明白的是,php在javascript之前運行(你需要知道的是php在服務器上運行,而javascript在瀏覽器中運行)。但是,就立即應用這些知識而言,javascript可以使用PHP設置或計算的數據,但PHP不能使用由javascript創建的數據。得到它? – Marlin