私は独自のlogin.phpを開発しましたが、ログインは成功しましたがセッションはキャプチャされていません。別のリンクに進むたびに、login.phpに戻り、再度ログインするように私に要求します。私は$ _SESSION(コメントとして)を使ってみましたが、ログインページが出てきて、完全にログインできませんでした。 PHPセッションはキャプチャされていません
事前
でありがとうござい以下は私のコードファイルの先頭に
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$uid = $_POST["uid"];
$password = $_POST["password"];
}
include("src/db.php");
session_start();
if(!isset($uid)) {
//if(!isset($_SESSION['$uid'])){
?>
<MY HTML code -- Let me know if you need to check my HTML as well>
<?php
exit;
}
dbConnect("myDB");
$sql = "SELECT * FROM sys_user WHERE username = '$uid' AND password = '$password'";
$result = pg_exec($sql);
$dept_id = pg_result($result,0,"dept_id");
if (pg_num_rows($result) == 1) {
$_SESSION['uid'] = $uid;
$_SESSION['password'] = $password;
$_SESSION['dept_id'] = $dept_id;
}
?>
<?
// ** THIS IS THE NEW SECTION **
//if ((pg_numrows($result) == 1) AND ($access != 'Y')) {
// ** END OF NEW SECTION **
?>
<?
if (pg_num_rows($result) == 0) {
//session_unregister("uid");
//session_unregister("password");
// session_unregister("dept_id");
unset($_SESSION["uid"]);
unset($_SESSION["password"]);
unset($_SESSION["dept_id"]);
?>
問題は、そのセッションに以前に入力されたかどうかを確認する方法です。 'uid'は' $ _SESSION ['uid'] 'に格納されているので、' isset($ uid) 'は明らかに動作しません。あなたはコメントアウトした状態でそこにいましたが、あなたは '' uid ''と ''uid ''を混同しました... – arkascha
はあなたのコードの先頭に 'session_start();' –
こんにちは@arkascha、私は$ uidを間違って宣言していますか?私はそれをisset(uid)として宣言できないので、それはまったく機能しません... – Sap1