私は最近、ASP洞窟から出現したばかりで、PHPの日光に慣れていません。PHPセッション変数を作成すると、ブラウザがハングアップする
私の現在の問題は、セッション変数を作成する単純なログインシーケンスにあります。そのステップでは、ブラウザがハングアップして不規則に動作します。
私のログインページ(A.php)から、ログインフォームはパスワードを処理し、セッション変数を作成して別のファイル(C.php)にリダイレクトするB.php(下記)に送られます。
簡潔にするため、私はログインが成功したと仮定しています。 B.phpには次のものが含まれています:
<?php
session_start();
require "../scripts/base/toolbox.php";
fnProcessLogin();
function fnProcessLogin(){
$passwd = strtoupper($_POST["passwd"]);
if (strlen($passwd)==0)
{
$passwd=strtoupper($_SESSION['plpassword']);
unset($_SESSION['plpassword']);
}
try{
$db = Database::getDB();
$sql="SELECT securitylevel, staffID, staffname, stafflname, staffemail, iRoleID FROM staff WHERE staffpasswd=?;";
$data = array($passwd);
$query = $db->prepare($sql);
$query->execute($data);
if($query->rowCount()>0){
$row = $query->fetch();
$a=$passwd."|".$row['staffID']."|".$row['staffname']."|".$row['stafflname']."|".$row['staffemail']."|".$row['iRoleID'];
$_SESSION['admin'] = $a;
header('Location: C.php');
}
}
catch(PDOException $pe){
echo "We are sorry, but we cannot complete this database operation.";
file_put_contents('PDOerrors.txt',$pe->getMessage(),FILE_APPEND);
}
}
?>
"$ _SESSION ['admin'] = $ a;"リダイレクトはうまく動作しますが、セッション変数を作成しようとするとブラウザがハングアップして最終的にファイルを正しくロードできないC.phpになります。 [戻る]ボタンのアクションは、ブラウザを無限ループにするようです。
この洞窟人は何が間違っているのですか?
ありがとう、
ブライアン。
"私のブラウザがハングする" O'rly? –
なぜパスワードを大文字にしていますか?または私はそれを間違ってreadnigですか? – PeeHaa
また、本当にセッションにパスワードを保存する必要がありますか?そして、なぜあなたは '$ _SESSION'を追加するためにユーザデータのために多次元配列を使いませんが、'? 'で区切られた文字列を使うのですか? – PeeHaa