データベースを使用せずにログインするには、以下のPHPコードを使用します。 (実際のユーザ名を除く)のユーザー名とするとI入力、正しいユーザー名とパスワード
2. I入力は任意の文字/ sの
1.とパスワードのテキストボックスを空白のまま:
それは2つの場合にhome.phpにリダイレクトします。データベースを使用しないPHPログインスクリプト
その他の場合は、2番目を除いて、コードは正常に動作します。
コードを2番目のケースで正しく動作させるにはどうすればよいですか?入力したユーザー名があなたの配列、$ userinfoを[ 'idontexist']戻っていない場合ので、あなたはそれが失敗している
if($userinfo[$_POST['username']] == $_POST['password']) {
if(isset($userinfo[$_POST['username']]) && $userinfo[$_POST['username']] == $_POST['password']) {
に理由がある変更される可能性が
<?php
session_start();
$userinfo = array(
'user1'=>'pass1',
);
if(isset($_GET['logout'])) {
$_SESSION['username'] = '';
header('Location: ' . $_SERVER['PHP_SELF']);
}
if(isset($_POST['username'])) {
if($userinfo[$_POST['username']] == $_POST['password']) {
$_SESSION['username'] = $_POST['username'];
header('Location: home.php');
}else {
header('Location: login.php');
}
}
?>
なぜこの行を使っていますか?if($ userinfo [$ _ POST ['username']] == $ _POST ['password']) '? – Lion
入力されたユーザ名とパスワードが、username =>パスワードの組み合わせが格納されている '$ userinfo'配列と一致していることを確認しています。 – drew010
ああ!私はJava環境からのもので、何かを知りたいので、PHPでそのような表現を見たことはありません。 – Lion