0

日時型である「date_time」をセッションに保存して、exを表示するにはどうすればよいですか。ページ secret_place.php に「登録済み 2013-04-09 15:45:20」

login.php にこのコードがあります

$query = mysql_query("SELECT `user`, `pass`, `date_time` FROM `database` WHERE user = '".$user."' AND pass = '".$pass."' LIMIT 1");
if (mysql_num_rows($query) > 0) {
$_SESSION['logged'] = true;
$_SESSION['user'] = $user;

header('Location: secret_place.php');
}
4

2 に答える 2

0

これを試してみてください。

$query = mysql_query("SELECT `user`, `pass`, `date_time` FROM `database` WHERE user = '".$user."' AND pass = '".$pass."' LIMIT 1");
if (mysql_num_rows($query) > 0) 
{
   $_SESSION['logged'] = true;
   $_SESSION['user'] = $user;
   while ($row = mysql_fetch_assoc($query)) 
   {
       $_SESSION['date_time'] = $row['date_time'];
   }
   header('Location: secret_place.php');
}
于 2013-04-09T14:13:23.730 に答える
0

ここにはいくつかの重大な問題があります: まず第一に、新しいコードでは関数を使用しないでくださいmysql_*。それらはもはや保守されておらず、公式に非推奨です赤いボックスが見えますか? 代わりにプリペアド ステートメントについて学び、 PDOまたはMySQLiを使用してください。この記事は、どちらを使用するかを決めるのに役立ちます。PDO を選択する場合は、ここに良いチュートリアルがあります。そうすれば、 SQL インジェクション攻撃も防ぐことができます。現在、コードはそれらに対して広く開かれています。

また、プレーン パスワードを DB に保存しないでください。PasswordLibなどの適切なライブラリを使用して、ハッシュして保存します

于 2013-04-09T14:14:49.540 に答える