PHPユーザー登録ログインシステム登録処理ページ
登録処理ページ
フローチャートは次のとおりです:

詳細(xì)なコードは次のとおりです:コードの説明:
登録ページをクリックすると 登録時に、登録処理ページ
に入り、postメソッドで渡された$_POST["hidden"]が存在するかどうかを確認(rèn)します。存在しない場合は、送信されたことを示すメッセージが表示されます。失敗し、登録インターフェイスに戻ります (存在する場合)。
渡された値を取得し (trim() 関數(shù)を使用して空白文字をフィルターし、md5() 関數(shù)を使用してパスワードを暗號化します)、それが空であるかどうかを判斷します??栅螆龊悉稀ⅴ抓恁螗抓趣硎兢丹欷蓼?。空でない場合は、post メソッドによって渡された検証コード値がセッション內(nèi)に以前に存在していた検証コード値と等しいかどうかを判斷します。等しい場合は、認(rèn)証コードが間違っていることを通知し、登録ページに戻ります。
- 渡されたパスワードと確認(rèn)されたパスワードが等しいかどうかを確認(rèn)します。パスワードが一致しない場合は、続行します
データベースに接続し、作成したデータベースを選択し、文字セットを設(shè)定し、ユーザー名でデータベースをクエリします。結(jié)果があれば、ユーザー名が存在することを確認(rèn)するプロンプトが表示され、登録ページに戻ります。結(jié)果がない場合は、データベース挿入ステートメントを?qū)g行してデータを挿入します (データベースに挿入されたフィールドには、登録に使用された登録時刻と IP 番號が追加されます)
-
挿入ステートメントの戻り値を使用して、挿入が成功したかどうかを判斷し、登録ページに戻って再度登録します。成功した場合は、登録が成功したことを示すメッセージが表示され、ログインページにジャンプします。
<?php
session_start();
//注冊處理界面 regcheck.php
if(isset($_POST["hidden"]) && $_POST["hidden"] == "hidden")
{
$user = trim($_POST["username"]);//trim()函數(shù)移除字符串兩側(cè)的空白字符
$psw = md5(trim($_POST["userpwd"]));
$psw_confirm = md5(trim($_POST["confirm"]));
$code = $_POST["code"];
if($user == "" || $psw == "" || $psw_confirm == "")
{
echo "<script>alert('請確認(rèn)信息完整性!'); history.go(-1);</script>";
}
else if($code != $_SESSION[' ver_code']){
echo "<script>alert('驗證碼不正確,請重新輸入!'); history.go(-1);</script>";
}
else
{
if($psw == $psw_confirm)
{
$conn = mysqli_connect("localhost","root","root"); //連接數(shù)據(jù)庫,帳號密碼為自己數(shù)據(jù)庫的帳號密碼
if(mysqli_errno($conn)){
echo mysqli_error($conn);
exit;
}
mysqli_select_db($conn,"userdb"); //選擇數(shù)據(jù)庫
mysqli_set_charset($conn,'utf8'); //設(shè)定字符集
$sql = "select username from user where username = '$user'"; //SQL語句
$result = mysqli_query($conn,$sql); //執(zhí)行SQL語句
$num = mysqli_num_rows($result); //統(tǒng)計執(zhí)行結(jié)果影響的行數(shù)
if($num) //如果已經(jīng)存在該用戶
{
echo "<script>alert('用戶名已存在'); history.go(-1);</script>";
}
else //不存在當(dāng)前注冊用戶名稱
{
$ip=ip2long($_SERVER['REMOTE_ADDR']); // 把ip地址轉(zhuǎn)換成整型
$time=time();
$sql_insert = "insert into `user` (`username`,`userpwd`,`createtime`,`createip`) values('" . $user . "','" . $psw ."','".$time."','".$ip."')";
$res_insert = mysqli_query($conn,$sql_insert);
if($res_insert)
{
echo "<script>alert('注冊成功!');window.location.href='login.php';</script>";
}
else
{
echo "<script>alert('系統(tǒng)繁忙,請稍候!'); history.go(-1);</script>";
}
}
}
else
{
echo "<script>alert('密碼不一致!'); history.go(-1);</script>";
}
}
}
else
{
echo "<script>alert('提交未成功!');</script>";
}
?>