2012-06-30 242 views
0

爲什麼我沒有在屏幕上獲得任何打印(m1,m2或m3)?將JavaScript變量傳遞給PHP會話

即如何將JavaScript var傳遞給PHP Session。

<?php session_start(); ?> 

<html> 
<head> 

<script type="text/javascript"> 
function disp_text() 
    { 
     var p = document.myform.mylist.value; 
     <?php $_SESSION['color'] ?> = p; 
     <?php echo $_SESSION['color'] ?>; 
    } 
</script> 

</head> 
<body> 

<FORM NAME="myform"> 
<SELECT NAME="mylist" onChange="disp_text()"> 
<OPTION VALUE="m1">Red 
<OPTION VALUE="m2">Blue 
<OPTION VALUE="m3">Green 
</SELECT> 
</FORM> 

感謝您的幫助。

+0

這已經在這裏找到答案: http://stackoverflow.com/questions/15067335/set-session-variable-using-javascript –

回答

5

另一個用於count ... JavaScript運行在用戶的計算機上,PHP運行在服務器上。查看網頁源代碼(單擊右鍵,查看源文件),你會看到究竟爲什麼它不工作:

<script type="text/javascript"> 
function disp_text() 
    { 
     var p = document.myform.mylist.value; 
     = p; 
     ; 
    } 
</script> 

讓JS變量的唯一途徑進入PHP是通過表單(這我使用鬆散耦合包括AJAX)。

+0

我不熟悉使用Ajax。 您能否給我一點小貼士,告訴我如何完成這項工作(通過表格)。 再次感謝。 – blsn

+0

Google擁有約12,900,000個「ajax tutorials」的搜索結果。選一個。 –

+0

非常感謝大家的支持,但我想在這裏回答一個簡單的問題,它與PHP和Javascript相關。我沒有除了去研究Ajax的答案。 我將不勝感激,如果任何人有我的PHP和Javascript解決方案, – blsn

0

試一下這個

<html> 
<head> 
<script type="text/javascript"> 
function disp_text() 
    { 
     var e = document.getElementsByName("mylist")[0]; 
     var p = e.options[e.selectedIndex].value; 
     sessionStorage.color = p; 
     document.write(p); 
    } 
</script> 
</head> 
<body> 
<FORM NAME="myform"> 
<SELECT NAME="mylist" onChange="disp_text()"> 
<OPTION VALUE="m1">Red</OPTION> 
<OPTION VALUE="m2">Blue</OPTION> 
<OPTION VALUE="m3">Green</OPTION> 
</SELECT> 
</FORM> 
</body> 
</html>