誰かが私を助けることができるかどうかわかりません。私はデータベーステーブルからセッション変数を設定しようとしています。基本的に私がする必要があるのは、誰かがログインしたときに、ログインしたユーザーのユーザーテーブルの 'user_group'列の値をセッション変数に代入するときです。現時点では、ログイン時にユーザーが手動で入力したユーザー名を渡すだけです。セッション変数を設定する
これはlogin.phpの現在のコードです。私は様々なことを試して、ここでヒントを探しましたが、運がなかった。 私も欲しい:あなたは の後mysql_query
$row = mysql_fetch_assoc($res);
を追加し、
$_SESSION['logged_in'] = $row['user_group']
は、EDITセッションにグループを割り当てた場合、何が起こるか
<?php
session_start();
$host = "localhost";
$user = "root";
$pass = "";
$db = "california";
mysql_connect($host, $user, $pass);
mysql_select_db($db);
\t $username = $_POST['name'];
\t $password = md5 ($_POST['password']);
\t // check to make sure both fields are entered
if ($username == '' || $password == '')
{
header("Location:login-fail.htm");
}
else
\t $sql = "SELECT * FROM users WHERE name='".$username."' AND password='".$password.
\t "' LIMIT 1";
\t $res = mysql_query($sql);
\t if (mysql_num_rows($res) == 1) {
\t $_SESSION['logged_in']= $username;
\t \t header("Location:login-success.htm");
\t \t exit();
\t } else {
\t \t header("Location:login-fail.htm");
\t \t exit();
\t }
?>
'$ username'の代わりに' $ res'の値を割り当てます – Blinkydamo
さらに、mysql関数の代わりにmysqli関数のようなものを使うべきです。 – SaidbakR
何がsємsємが言った、プラス:あなたはいくつかのセキュリティホールを持っています。あなたのコードはSQLインジェクションに広く開かれています - 誰かが ''DROP TABLE users ''というユーザ名を投稿したと想像してください。 ' - ' 'あなたはあなたのパラメータをエスケープする必要があります:パラメータ化されたクエリを使用する - ' md5'はしばらくの間、安全なハッシュではなく、ひび割れる可能性があります - PHPは安全なハッシュを作成する 'password_hash() 'password_verify()'を使ってこれらのハッシュに対してパスワードをテストします。 –