2014-08-30 50 views
0

我想將存儲在會話一頁中的值傳遞到另一個頁面,在這個頁面中我使用了下面的代碼,這些值代表我想要執行的值不起作用。如何在php中將會話值從一個頁面傳遞到另一個頁面?

這裏是我的代碼

的login.php

<?php 

include('conn.php'); 

if (isset($_POST['submit'])) { 
    $UserName=$_POST['user']; 
    $PassWord=$_POST['pass']; 
    $eid=$_POST['eid']; 
    //echo $UserName; 
    //echo $PassWord; 
    $sql = "SELECT role from login WHERE username='$UserName'and password='$PassWord'"; 
    //$sql=mysql_query("select usertype from login where username='$UserType' and password='$Password'")or die (mysql_error());//query sang database 
    $retval = mysql_query($sql); 

    if(! $retval) { 
     die('Could not get data: ' . mysql_error()); 
    } 

    while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) { 

     session_start(); 

     $_SESSION["user"]=$UserName; 
     $_SESSION["pass"]=$PassWord ; 
     $_SESSION['role']=$row['role']; 
     $_SESSION['eid']=$eid; 

     if ($row['role']==0) { 
      header("location:admin.php"); 
     } 
     elseif ($row['role']==1) { 
      header("location:UserUomePage.php"); 
     } 
    } 
} 

echo "Invalid User Name and Password\n"; 

?> 

當我使用

echo $_SESSION['eid']; 

它給用戶名。我如何獲得eid價值?

+0

檢查$ eid變量中的值可能嗎? – 2014-08-30 18:39:20

+1

請使用正確的代碼intendation。它看起來你在'while'loop中多次調用'session_start'。 – Hirnhamster 2014-08-30 18:39:43

+0

我在那裏也檢查過,但不是 – 2014-08-30 18:40:03

回答

2

將session_start()保留在循環之外。 並檢查您是否從$ eid中發佈的價值。 在下一頁中,您可以檢查:

print_r($_SESSION); 

並查看您得到的值。

if(isset($_SESSION['eid'])) 
{ 
echo $_SESSION['eid']; 
} 
else 
    echo 'NO'; 
+0

請分享您在print_r($ _ SESSION)中獲得的內容; – Naincy 2014-08-30 18:43:11

+0

ia得到這個 Array([user] => satyam [pass] => satyam [role] => 1 [eid] =>) – 2014-08-30 18:54:28

+0

這意味着你沒有從$ _POST 得到eid的值請同時嘗試打印第一行上面代碼中的$ _POST print_r($ _ POST); – Naincy 2014-08-30 18:57:30

相關問題