セッションをphpファイルに表示する際に問題があります。セッションを表示することはできますが、正しく表示されません。「S」という文字が表示されるだけです。
ユーザーがシステムにログインすると、セッションが作成され、一意の ID とフルネームが含まれます。
私のログインphpは以下の通りです。私が問題を抱えているのは、'full_name' と 'id' のセッションだけです。それらを自分でスクリプトにコーディングしなければならなかったからです。プローブがどこかでエラーを起こしました
<?php
ob_start();
include ("includes/dbConfig.php");
$tbl_name="users"; // Table name
// Connect to server and select databse.
mysql_connect("$host", "$un", "$pwd")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// Define $myusername and $mypassword
$username=$_POST['username'];
$password=$_POST['password'];
// To protect MySQL injection (more detail about MySQL injection)
$username = stripslashes($username);
$encrypted_password=md5($password);
$username = mysql_real_escape_string($username);
$encrypted_password = mysql_real_escape_string($encrypted_password);
$sql="SELECT * FROM $tbl_name WHERE username='$username' and password='$encrypted_password'";
$result=mysql_query($sql);
//Get User Info
$userinfo="SELECT * FROM $tbl_name WHERE username='$username'";
$result=mysql_query($userinfo);
$full_name= $userinfo['full_name'];
$id= $userinfo['id'];
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $username and $password, table row must be 1 row
if($count==1){
// Register $username, $password and redirect to file "console.php"
session_start();
$_SESSION['username'] = $username;
$_SESSION['full_name'] = $full_name;
$_SESSION['id'] = $id; // store session data
header("Location: console.php");
}
else {
echo "Wrong Username or Password";
}
ob_end_flush();
?>
サイト内でセッションをテストしたところ、いくつかのダミー情報が正常に渡されました。データベースから情報を取得する際の問題だと思います。
md5 が最も安全なパスワード暗号化方法ではないことはわかっていますが、必要なものには問題ありません。
ありがとうございます。
これは私のページの上部にあるコードです。
<?php
include ("includes/dbConfig.php");
session_start();
if(!$_SESSION['username'])
if(!$_SESSION['full_name'])
if(!$_SESSION['id']) {
// user not logged in redirect
header("Location: index.php");
}
?>
これは、セッション データを出力するために使用するコードです。
<?php echo "" . $_SESSION["username"]; ?>
<?php echo "" . $_SESSION["full_name"]; ?>
<?php echo "" . $_SESSION["id"]; ?>