2013-06-23 74 views
1

我想使用php會話將用戶名傳遞給第二頁 ,但它顯示錯誤。在php會話中找不到變量


注意:未定義指數:南在d:\ SOFTWARE 2 \ WAMP \ WAMP \ WWW \會議\ s2.php第5行


我的第一頁(s1.php)是這樣

<html> 
<head> 
<?php 
    session_start();  

?> 

</head> 
<body> 
<p>hello</p> 


<form method="get" action=" http://localhost/session/s2.php"> 
<input type="text" name="nam"><br> 
<input type="submit" value="Submit"><br> 


</form> 

</body> 
</html> 

我的第二頁(s2.php)是波紋管

<html> 
    <head> 
<?php 
    session_start(); 
    echo $_SESSION['nam']; 
?> 
</head> 
here is the second page 
<body> 

</body> 
</html> 

感謝

+0

你永遠不會做'$ _SESSION [ '南'] = $ _GET [ '南']',所以你的$ _SESSION永遠不會被填充。 –

+0

nam將在$ _GET而不是$ _SESSION – 2013-06-23 20:52:55

回答

0

你需要把會議從頂部開始

<?php 
    session_start();  

?> 
<html> 
<head> 

你最有可能沒有看到所產生的誤差。

另外,數據提交後,你會不會有它的SESSION的是,這將是$_GET['name']

我建議你設置你的本地計算機上工作,而error_levelE_ALL

+0

位於頂部的session_start不會產生影響... –

+0

如果您想避免「無法發送會話cookie - 頭已發送... ...「 – Richard

+0

哦,當你說」你很可能沒有看到產生的錯誤「時,我認爲你的意思是移動session_start會顯示他正在尋找的錯誤,這使得他的代碼無法正常工作;我現在看到 –

0

在PHP中,表單中的變量通過GET或POST傳遞。在你的情況下,你用

<form method="get" action=" http://localhost/session/s2.php"> 

所以類型是GET(method="get")。要讀取GET變量,請使用_GET,而不是_SESSION。如果你想要POST變量,使用_POST。

在你的情況,使用的_GET['nam']代替_SESSION['nam']

1

變量不自動插入到會話。你需要以某種方式插入它們。如果你想從獲得參數變量$_GET形式發佈你正在尋找。

如:

$_SESSION['name'] = $_GET['name']; 

必須通過dealing with forms

0

看看您應該:

回聲$ _SESSION之前加入這一行[ '南']; $ _GET ['nam'] = $ _ SESSION ['nam'];

或 echo $ _GET ['nam'];

好運