简体   繁体   中英

cannot pass session variables

if(isset($_POST["username"])&& isset($_POST["password"])){
include('config.php'); //this one connects to the database

$username = $_POST["username"];
$password = md5($_POST["password"]);

$sql2=mysql_query("SELECT * FROM clinic_staff WHERE username='$username' AND password='$password'");
$count2 = mysql_num_rows($sql2);

if($count2 == 1){
  while($row2 = mysql_fetch_array($sql2)){
        $id = $row2["staff_ID"];
        $position = $row2["position"];
  }
  $_SESSION["id"] = $id;
  $_SESSION["name"] = $username;
  $_SESSION["password"] = $password;
  $_SESSION["pos"] = $position;

  header("location:index.php");
  exit();
}

The problem is I can't echo the username in index.php . I don't know if it is passed successfully. in index.php i used echo $_SESSION["name"] ;

You need to look at session_start to start a session. Examples are here

I don't see session_start(); . You have to call that function at the top of every page you use session variables. (At least I have to do that on my server, somebody said to me you should actually be able to use Session variables without session_start(); , but everything that needed a session variable stopped working after I removed the calls to session_start(); )

put session_start(); at the beginning of your document with no white space above it.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM