
PHPのセッションについて
PHPのセッションについて
現在ログインフォームを作成しているのですが、
ログインフォームからIDとパスワードを送信して、合っていれば
セッションを発行してロケーションで飛ばそうと思っているのですが、
初回時にIDとパスワードを入力して送信しても、セッションが引き継がれず
2回目以降だとセッションが引き継がれる症状に悩んでおります。
どなたかご教授ください。
宜しくお願いいたします。
【login.php】--------------------------------
<?php
session_name("stock");
session_start();
$error_flag = 0;
if(isset($_POST["login"])){
$id = htmlentities($_POST["id"],ENT_COMPAT);
$password = trim(htmlentities($_POST["password"],ENT_COMPAT));
if($login_id == $id && $login_pass == $password){
$_SESSION["id"] = $id;
$_SESSION["password"] = $password;
header("Location:stock.php");
exit;
}else{
$error_flag = 1;
}
}
echo <<<EOD
<form method="post" action="login.php" id="login">
<input type="text" name="id" id="id" >
<input type="password" name="password" id="password">
<input type="submit" name="login" value="ログイン" />
</form>
EOD;
【stock.php】---------------------------------
<?php
session_name("stock");
session_start();
echo $_SESSION["id"];
echo $_SESSION["password"];
?>
投稿日時 - 2010-09-06 16:31:45
ためしに値を入れてみました、正常に動くようです。
【login.php】
<?php
session_name("stock");
session_start();
/*試しに値を決める*/
$login_id=a;
$login_pass =a;
$error_flag = 0;
if(isset($_POST["login"])){
$id = htmlentities($_POST["id"],ENT_COMPAT);
$password = trim(htmlentities($_POST["password"],ENT_COMPAT));
if($login_id == $id && $login_pass == $password){
$_SESSION["id"] = $id;
$_SESSION["password"] = $password;
header("Location:stock.php");
exit;
}else{
$error_flag = 1;
}
}
echo <<<EOF
<form method="post" action="login.php" id="login">
<input type="text" name="id" id="id" >
<input type="password" name="password" id="password">
<input type="submit" name="login" value="ログイン" />
</form>
EOF;
?>
【stock.php】
<?php
session_name("stock");
session_start();
echo $_SESSION["id"];
echo $_SESSION["password"];
?>
投稿日時 - 2010-09-07 08:50:10
このQ&Aは役に立ちましたか?
3人が「このQ&Aが役に立った」と投票しています
回答(1)