[PHP-users 29574] セッション管理によるログイン操作
青山慎一
aoyama @ ddthink.com
2006年 7月 3日 (月) 14:33:39 JST
こんにちは、Shouです。
セッション管理によるログイン操作を行おうとしているのですが、
ID入力画面
index.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>無題ドキュメント</title>
</head>
<body>
<form name="form1" method="post" action="login.php">
ユーザID:<input name="userid" type="text"><br>
パスワード:<input name="password" type="password"><br>
<input type="submit" name="Submit" value="ログイン">
</form>
</body>
</html>
でIDとパスワードを入力して、
ログイン判別ページである
login.php
<?php
Session_Start();
//セッションが確立していない場合だけ、パスワード認証を行う
if( !isset($_SESSION["is_cert"]) ) {
//認証用の連想配列。キーはユーザIDで、値がパスワード
$userInfo = Array( "itboost" => "hoge","mats"=>"foo");
//パスワードの比較
if( !isset($_REQUEST["userid"]) || !isset($_REQUEST["password"]) || $userInfo[ $_REQUEST["userid"] ] != $_REQUEST["password"] ) {
print "<html><body>";
print "失敗しました。正しい値を入力して下さい"
print "</body></html>";
exit;
}
//認証に成功したときだけ、セッション変数に値をセットする
$_SESSION["userid"]=$_REQUEST["userid"];
$_SESSION["is_cert"] = TRUE;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>無題ドキュメント</title>
</head>
<body>
<h1>トップページ</h1>
<a href="contents.php">コンテンツページへ進む</a><br>
<a href="logout.php">ログアウト</a><br>
</body>
</html>
にアクセスすると、ユーザIDとパスワード値の正誤にかかわらず
Parse error: parse error, unexpected T_PRINT in c:\Inetpub\wwwroot\PHPSample\login\login.php on line 13
と言うメッセージが出ます。
正しくページが正誤状態それぞれが表示されるようにするにはどうしたらよいのでしょうか。
よろしくお願いします。
PHP-users メーリングリストの案内