2012-12-24 73 views
1

我正在尋找使用jquery添加到DOM的<ul>,我想添加更多<li>'s到列表中,但只是爲了持續與PHP會話。使用jQuery創建php會話

例如

$lists = $_SESSION['names'] 
//which contains an array of all the 'names', and then I would run a loop: 

echo "<ul>"; 
foreach($lists as $list) { 
    echo "<li>$list</li>"; 
} 
echo "</ul>"; 

因此,用戶可以在此會話期間將這些變量添加到列表中。 這將如何完成,以及如何jQuery能夠與這樣的php交互?什麼方法最簡單?

+3

我建議AJAX調用一個PHP腳本並將其添加到會話。在您的前端混合PHP是不可能的,因爲它的服務器端腳本 – cjds

+0

如果瀏覽器中存在LI,只要瀏覽器打開,除非您使用script或meta標籤設置刷新,或者使用ajax與服務器交談並再次使用腳本取決於響應...不完全清楚你的目標是什麼 – charlietfl

回答

3

似乎你誤解了PHP的工作原理。

PHP是一個服務器端腳本。這意味着它在服務器上運行,並且用戶無法看到它正在運行,或者代碼出現在他的身邊。

jQuery是一個JavaScript庫。它是用戶交互的客戶端助手。

所以基本上沒有辦法直接從一個HTML文檔

運行PHP但是間接有AJAX。

AJAX允許您在不重新加載頁面的情況下訪問頁面(並且基本上運行PHP腳本)。

http://api.jquery.com/jQuery.ajax/

$.ajax({ 
type: "POST", 
url: "some.php", 
data: { list: jQueryVariableList 
    }).done(function(msg) { 
     alert("Data Saved: " + msg); 
}); 

現在在PHP端你可以拿起使用$_POST['jQueryVariableList']

1

看一看這個名單:

在javascript中:

jQuery('#div_session_write').load('session_write.php?session_name=new_value'); 

在session_write.php文件:

<? 
session_start(); 

if (isset($_GET['session_name'])) {$_SESSION['session_name'] = $_GET['session_name'];} 
?> 

在HTML:

<div id='div_session_write'> </div>