PHPユーザー開(kāi)発登録モジュールPHPページ
ユーザー登録の主な機(jī)能は以前に紹介しました。このページでは、これらの機(jī)能を PHP コードを通じて実裝します。
データの取得にはPOSTメソッドを使用します。
<?php $username = $_POST['username']; //注冊(cè)的用戶名 $password = $_POST['password']; //注冊(cè)密碼 $confirm = $_POST['confirm']; //確認(rèn)密碼 $email = $_POST['email']; //郵箱 $code = $_POST['code']; //驗(yàn)證碼 ?>
作成したデータベースとテーブルに接続し続けます
<?php $link = mysqli_connect('localhost','root','root','test'); if (!$link) { die("連接失敗:".mysqli_connect_error()); } $sql = "select * from login"; $result = mysqli_query($link, $sql); $rows = mysqli_fetch_array($result); ?>
入力したユーザー名とメールアドレスを正規(guī)化する必要があります
<?php if ((strlen($username) < 3)||(!preg_match('/^\w+$/i', $username))) { echo "<script>alert('用戶名至少3位且不含非法字符!重新填寫');window.location.href='zhuce'</script>"; //判斷用戶名長(zhǎng)度和非法字符 } if (!preg_match('/^[\w\.]+@\w+\.\w+$/i', $email)) { echo "<script>alert('郵箱不合法!重新填寫');window.location.href='zhuce.html'</script>"; //判斷郵箱格式是否合法 } ?>
ここでのユーザーログインとの最大の違いは、ユーザー名が別のユーザーによって登録されている場(chǎng)合であることです、ログインできなくなります。このユーザー名を使用してください。
まずデータベースにすでに存在するユーザー名データを読み取ってから判斷する必要があります。
<?php if(mysqli_fetch_array(mysqli_query($link,"select * from login where username = '$username'"))) { echo "<script>alert('用戶名已存在');window.location.href='zhuce.html'</script>"; // 判斷用戶名是否已經(jīng)被注冊(cè) } ?>
zhuce.php ファイル コードを完成させます:
<?php session_start(); header("Content-type:text/html;charset=utf-8"); $link = mysqli_connect('localhost','root','root','test'); if (!$link) { die("連接失敗:".mysqli_connect_error()); } $username = $_POST['username']; $password = $_POST['password']; $confirm = $_POST['confirm']; $email = $_POST['email']; $code = $_POST['code']; if($username == "" || $password == "" || $confirm == "" || $email == "" || $code == "") { echo "<script>alert('信息不能為空!重新填寫');window.location.href='zhuce.html'</script>"; } elseif ((strlen($username) < 3)||(!preg_match('/^\w+$/i', $username))) { echo "<script>alert('用戶名至少3位且不含非法字符!重新填寫');window.location.href='zhuce'</script>"; //判斷用戶名長(zhǎng)度 }elseif(strlen($password) < 5){ echo "<script>alert('密碼至少5位!重新填寫');window.location.href='zhuce.html'</script>"; //判斷密碼長(zhǎng)度 }elseif($password != $confirm) { echo "<script>alert('兩次密碼不相同!重新填寫');window.location.href='zhuce.html'</script>"; //檢測(cè)兩次輸入密碼是否相同 } elseif (!preg_match('/^[\w\.]+@\w+\.\w+$/i', $email)) { echo "<script>alert('郵箱不合法!重新填寫');window.location.href='zhuce.html'</script>"; //判斷郵箱格式是否合法 } elseif($code != $_SESSION['authcode']) { echo "<script>alert('驗(yàn)證碼錯(cuò)誤!重新填寫');window.location.href='zhuce.html'</script>"; //判斷驗(yàn)證碼是否填寫正確 } elseif(mysqli_fetch_array(mysqli_query($link,"select * from login where username = '$username'"))){ echo "<script>alert('用戶名已存在');window.location.href='zhuce.html'</script>"; } else{ $sql= "insert into login(username, password, confirm, email)values('$username','$password','$confirm','$email')"; //插入數(shù)據(jù)庫(kù) if(!(mysqli_query($link,$sql))){ echo "<script>alert('數(shù)據(jù)插入失敗');window.location.href='zhuce.html'</script>"; }else{ echo "<script>alert('注冊(cè)成功!)</script>"; } } ?>
登録ページに入り、正しいデータをすべて入力してデータベースを開(kāi)くと、追加したばかりのデータがすでに存在していることがわかります。
例: ここでは、ユーザー名 sell 、パスワードと確認(rèn)パスワード 12345、電子メール アドレス 123@www.com のユーザーを追加します。
注: このコースはユーザー登録の簡(jiǎn)単なデモンストレーションにすぎず、そのコードは學(xué)習(xí)の參照のみを目的としており、プロジェクトで直接使用することはできません。