0

ログイン後の自動登録を誰かが手伝ってもらえますか?これが私の登録スクリプトです...

if (empty($_POST) === false) {
$required_fields = array ('email', 'username', 'password', 'password_again', 'first_name', 'last_name');
foreach ($_POST as $key=>$value) {
    if (empty($value) && in_array($key, $required_fields) === true) {
        $errors [] = 'ALL fields MUST be filled out correctly';
        break 1;
    }
}

    if (empty($errors) === true) {
    if (user_exists($_POST['email']) === true) {
        $errors [] = 'Sorry, the email \'' . $_POST['email'] . '\' is already in use.';   
    }
            if (preg_match("/\\s/", $_POST['email']) == true) {
            $errors[] = 'Your email must not contain any spaces';

    }
            if (user_exists($_POST['username']) === true) {
        $errors [] = 'Sorry, the username \'' . $_POST['username'] . '\' is already in use.';   
    }
    if (preg_match("/\\s/", $_POST['username']) == true) {
            $errors[] = 'Your username must not contain any spaces';

    }
    if (strlen($_POST['password']) < 6)  {
    $errors[] = 'Your password must be in between 6-24 characters long';
    }
    if ($_POST['password'] !== $_POST ['password_again']) {
        $errors[] = 'Your passwords did not match';
    }

}
}
?>

このコードはユーザーを登録するだけで、私もログインしたいのですが、これをひどく評価することはできませんか?

4

2 に答える 2

1

登録スクリプトの終わり

//include your login validation
if(empty($errors)){
   //User->login(); or anything you use for validating logins
}
于 2013-02-24T21:59:01.763 に答える
0

ログインを実行するには、通常、(PHP の setcookie 関数を使用して) ユーザーの Cookie を作成し、ユーザー データ (ユーザー名など) を保持するセッション変数を初期化する必要があります。

このリンクは、setcookie() http://php.net/setcookieの使用方法を示します。

セッション変数に関しては、次のように任意に設定できます。

$_SESSION['username'] = "管理者";

安全なログイン スクリプトの作成には時間がかかるため、既存のフォームを使用して、ニーズに合わせて調整することをお勧めします。本当に安全であるためには、データベース入力の厳密な健全性チェック、チェックサムを使用した安全なログインとフォームの投稿、および考慮すべき他の多くの要因を実行する必要があります.

于 2013-02-24T22:10:21.697 に答える