Hướng dẫn student registration form in php code with validation without database - biểu mẫu đăng ký sinh viên bằng mã php có xác thực mà không có cơ sở dữ liệu

Tạo một trang web dựa trên thành viên có vẻ như là một nhiệm vụ khó khăn lúc đầu. Nếu bạn từng muốn làm điều này một mình, thì hãy từ bỏ khi bạn bắt đầu nghĩ rằng bạn sẽ kết hợp nó như thế nào bằng cách sử dụng các kỹ năng PHP của mình, thì bài viết này là dành cho bạn. Chúng tôi sẽ hướng dẫn bạn qua mọi khía cạnh của việc tạo trang web dựa trên tư cách thành viên, với khu vực thành viên an toàn được bảo vệ bằng mật khẩu.

Toàn bộ quá trình bao gồm hai phần lớn: đăng ký người dùng và xác thực người dùng. Trong phần đầu tiên, chúng tôi sẽ bao gồm việc tạo mẫu đăng ký và lưu trữ dữ liệu trong cơ sở dữ liệu MySQL. Trong phần thứ hai, chúng tôi sẽ tạo biểu mẫu đăng nhập và sử dụng nó để cho phép người dùng truy cập vào khu vực an toàn.

Tải xuống mã

Bạn có thể tải xuống toàn bộ mã nguồn cho hệ thống đăng ký/đăng nhập từ liên kết bên dưới: Đăng kýform.zip

Cấu hình & Tải lên tệp README chứa các hướng dẫn chi tiết.
The ReadMe file contains detailed instructions.

Mở tệp source\include\membersite_config.php trong trình soạn thảo văn bản và cập nhật cấu hình. [Đăng nhập cơ sở dữ liệu, trang web của bạn tên, địa chỉ email của bạn, v.v.].

Tải lên toàn bộ nội dung thư mục. Kiểm tra Đăng ký.php bằng cách gửi biểu mẫu.

Mẫu đăng ký

Để tạo tài khoản người dùng, chúng tôi cần thu thập một lượng thông tin tối thiểu từ người dùng. Chúng tôi cần tên của anh ấy, địa chỉ email của anh ấy và tên người dùng và mật khẩu mong muốn của anh ấy. Tất nhiên, chúng tôi có thể yêu cầu thêm thông tin tại thời điểm này, nhưng một hình thức dài luôn là một sự tắt. Vì vậy, hãy để giới hạn bản thân chỉ là những lĩnh vực đó.

Đây là mẫu đăng ký:




Register

Your Full Name*: 

Email Address*:


UserName*:


Password*:





Vì vậy, chúng tôi có các trường văn bản cho tên, email và mật khẩu. Lưu ý rằng chúng tôi đang sử dụng tiện ích mật khẩu để sử dụng tốt hơn.

Hình thức xác nhận

Tại thời điểm này, bạn nên đặt một số mã xác thực biểu mẫu, vì vậy chúng tôi đảm bảo rằng chúng tôi có tất cả dữ liệu cần thiết để tạo tài khoản người dùng. Chúng ta cần kiểm tra xem tên và email, và mật khẩu được điền vào và email ở định dạng thích hợp.

Chúng ta có thể sử dụng tập lệnh xác thực biểu mẫu JavaScript miễn phí để thêm xác thực biểu mẫu một cách nhanh chóng và dễ dàng, với mã ít hơn.

Dưới đây là mã xác thực JavaScript mẫu được sử dụng cho mẫu mẫu mà chúng tôi đã tạo trước đó:


var frmvalidator  = new Validator["register"];
frmvalidator.EnableOnPageErrorDisplay[];
frmvalidator.EnableMsgsTogether[];
frmvalidator.addValidation["name","req","Please provide your name"];

frmvalidator.addValidation["email","req","Please provide your email address"];

frmvalidator.addValidation["email","email","Please provide a valid email address"];

frmvalidator.addValidation["username","req","Please provide a username"];

frmvalidator.addValidation["password","req","Please provide a password"];

Để được an toàn, chúng tôi cũng sẽ có cùng một xác nhận ở phía máy chủ. Để xác nhận phía máy chủ, chúng tôi sẽ sử dụng tập lệnh xác thực biểu mẫu PHP

Xử lý việc gửi biểu mẫu

Bây giờ chúng tôi phải xử lý dữ liệu biểu mẫu được gửi.

Đây là chuỗi [xem tệp fg_membersite.php trong nguồn đã tải xuống]:


function RegisterUser[]
{
    if[!isset[$_POST['submitted']]]
    {
       return false;
    }
    
    $formvars = array[];
    
    if[!$this->ValidateRegistrationSubmission[]]
    {
        return false;
    }
    
    $this->CollectRegistrationSubmission[$formvars];
    
    if[!$this->SaveToDatabase[$formvars]]
    {
        return false;
    }
    
    if[!$this->SendUserConfirmationEmail[$formvars]]
    {
        return false;
    }

    $this->SendAdminIntimationEmail[$formvars];
    
    return true;
}

Đầu tiên, chúng tôi xác nhận việc gửi biểu mẫu. Sau đó, chúng tôi thu thập và vệ sinh dữ liệu gửi biểu mẫu [luôn luôn làm điều này trước khi gửi email, lưu vào cơ sở dữ liệu, v.v.]. Việc gửi biểu mẫu sau đó được lưu vào bảng cơ sở dữ liệu. Chúng tôi gửi email đến người dùng yêu cầu xác nhận. Sau đó, chúng tôi thân thiện với quản trị viên mà người dùng đã đăng ký.

Lưu dữ liệu trong cơ sở dữ liệu

Bây giờ chúng tôi đã thu thập tất cả các dữ liệu, chúng tôi cần lưu trữ nó vào cơ sở dữ liệu. Dưới đây là cách chúng tôi lưu lần gửi biểu mẫu vào cơ sở dữ liệu.


 function SaveToDatabase[&$formvars]
    {
        if[!$this->DBLogin[]]
        {
            $this->HandleError["Database login failed!"];
            return false;
        }
        if[!$this->Ensuretable[]]
        {
            return false;
        }
        if[!$this->IsFieldUnique[$formvars,'email']]
        {
            $this->HandleError["This email is already registered"];
            return false;
        }
        
        if[!$this->IsFieldUnique[$formvars,'username']]
        {
            $this->HandleError["This UserName is already used. Please try another username"];
            return false;
        }        
        if[!$this->InsertIntoDB[$formvars]]
        {
            $this->HandleError["Inserting to Database failed!"];
            return false;
        }
        return true;
    }

Lưu ý rằng bạn đã định cấu hình chi tiết đăng nhập cơ sở dữ liệu trong tệp thành viên_config.php. Hầu hết các trường hợp, bạn có thể sử dụng máy chủ cơ sở dữ liệu. Sau khi đăng nhập, chúng tôi đảm bảo rằng bảng tồn tại. [Nếu không, tập lệnh sẽ tạo bảng bắt buộc]. Sau đó, chúng tôi đảm bảo rằng tên người dùng và email là duy nhất. Nếu nó không phải là duy nhất, chúng tôi sẽ trả lại lỗi cho người dùng.

Cấu trúc bảng cơ sở dữ liệu

Đây là cấu trúc bảng. Hàm createdTable [] trong tệp fg_membersite.php tạo bảng. Đây là mã:


function CreateTable[]
{
    $qry = "Create Table $this->tablename [".
            "id_user INT NOT NULL AUTO_INCREMENT ,".
            "name VARCHAR[ 128 ] NOT NULL ,".
            "email VARCHAR[ 64 ] NOT NULL ,".
            "phone_number VARCHAR[ 16 ] NOT NULL ,".
            "username VARCHAR[ 16 ] NOT NULL ,".
            "password VARCHAR[ 32 ] NOT NULL ,".
            "confirmcode VARCHAR[32] ,".
            "PRIMARY KEY [ id_user ]".
            "]";
            
    if[!mysql_query[$qry,$this->connection]]
    {
        $this->HandleDBError["Error creating the table \nquery was\n $qry"];
        return false;
    }
    return true;
}

Trường ID_USER sẽ chứa ID duy nhất của người dùng và cũng là khóa chính của bảng. Lưu ý rằng chúng tôi cho phép 32 ký tự cho trường mật khẩu. Chúng tôi làm điều này bởi vì, như một biện pháp bảo mật bổ sung, chúng tôi sẽ lưu trữ mật khẩu trong cơ sở dữ liệu được mã hóa bằng MD5. Xin lưu ý rằng vì MD5 là phương thức mã hóa một chiều, nên chúng tôi đã giành chiến thắng để có thể khôi phục mật khẩu trong trường hợp người dùng quên nó.

Chèn đăng ký vào bảng

Dưới đây là mã mà chúng tôi sử dụng để chèn dữ liệu vào cơ sở dữ liệu. Chúng tôi sẽ có tất cả dữ liệu của chúng tôi trong mảng $formvars.


function InsertIntoDB[&$formvars]
{
    $confirmcode = $this->MakeConfirmationMd5[$formvars['email']];

    $insert_query = 'insert into '.$this->tablename.'[
            name,
            email,
            username,
            password,
            confirmcode
            ]
            values
            [
            "' . $this->SanitizeForSQL[$formvars['name']] . '",
            "' . $this->SanitizeForSQL[$formvars['email']] . '",
            "' . $this->SanitizeForSQL[$formvars['username']] . '",
            "' . md5[$formvars['password']] . '",
            "' . $confirmcode . '"
            ]';      
    if[!mysql_query[ $insert_query ,$this->connection]]
    {
        $this->HandleDBError["Error inserting data to the table\nquery:$insert_query"];
        return false;
    }        
    return true;
}

Lưu ý rằng chúng tôi sử dụng hàm PHP md5 [] để mã hóa mật khẩu trước khi chèn nó vào cơ sở dữ liệu. Ngoài ra, chúng tôi tạo mã xác nhận duy nhất từ ​​địa chỉ email của người dùng.

Gửi e-mail

Bây giờ chúng tôi có đăng ký trong cơ sở dữ liệu của chúng tôi, chúng tôi sẽ gửi email xác nhận cho người dùng. Người dùng phải nhấp vào liên kết trong email xác nhận để hoàn thành quy trình đăng ký.


function SendUserConfirmationEmail[&$formvars]
{
    $mailer = new PHPMailer[];
    
    $mailer->CharSet = 'utf-8';
    
    $mailer->AddAddress[$formvars['email'],$formvars['name']];
    
    $mailer->Subject = "Your registration with ".$this->sitename;

    $mailer->From = $this->GetFromAddress[];        
    
    $confirmcode = urlencode[$this->MakeConfirmationMd5[$formvars['email']]];
    
    $confirm_url = $this->GetAbsoluteURLFolder[].'/confirmreg.php?code='.$confirmcode;
    
    $mailer->Body ="Hello ".$formvars['name']."\r\n\r\n".
    "Thanks for your registration with ".$this->sitename."\r\n".
    "Please click the link below to confirm your registration.\r\n".
    "$confirm_url\r\n".
    "\r\n".
    "Regards,\r\n".
    "Webmaster\r\n".
    $this->sitename;

    if[!$mailer->Send[]]
    {
        $this->HandleError["Failed sending registration confirmation email."];
        return false;
    }
    return true;
}

Chúng tôi sử dụng tập lệnh PHPMailer miễn phí để gửi email. Lưu ý rằng chúng tôi thực hiện điểm URL xác nhận để xác nhận reform.php? Code = xxxx [trong đó xxxx là mã xác nhận]. Trong tập lệnh xác nhận, chúng tôi tìm kiếm mã xác nhận này và cập nhật trường ‘được xác nhận trong bảng.

Sau khi hoàn thành tất cả các hoạt động này thành công, chúng tôi gửi email đến quản trị viên [được định cấu hình trong tệp thành viên_config.php]

Xem thêm: Tạo biểu mẫu đăng nhập bằng PHP

Cập nhật

Ngày 9 tháng 1 năm 2012 Đặt lại mật khẩu/thay đổi các tính năng mật khẩu được thêm vào, mã hiện được chia sẻ tại GitHub. Reset Password/Change Password features are added The code is now shared at GitHub.

Ngày 25 tháng 5 năm 2011 Bây giờ bạn có thể hiển thị tên người dùng đã đăng nhập với mã này: Now you can display the logged-in user’s name with this code:


Welcome back !

Giấy phép

Mã được chia sẻ theo giấy phép LGPL. Bạn có thể tự do sử dụng nó trên các trang web thương mại hoặc phi thương mại.

Xem thêm

  • Tạo biểu mẫu đăng nhập bằng PHP
  • Hộp kiểm xử lý trong bộ xử lý biểu mẫu PHP
  • Xử lý hộp chọn [danh sách thả xuống] ở dạng PHP
  • Tập lệnh xác thực biểu mẫu PHP
  • Hướng dẫn mẫu PHP
  • Sử dụng php_elf trong trường hành động của một biểu mẫu
  • Sử dụng phương thức GET ở dạng PHP
  • Sử dụng phương thức bài ở dạng PHP
  • Một mẫu liên hệ PHP đơn giản, dễ dàng
  • Dưới đây là một biểu mẫu liên hệ bật lên đơn giản [cửa sổ bật lên phương thức]

Làm thế nào bạn có thể xác thực dữ liệu biểu mẫu trong PHP?

Xác thực dữ liệu biểu mẫu với PHP..
Dải các ký tự không cần thiết [không gian thêm, tab, dòng mới] từ dữ liệu đầu vào của người dùng [với hàm trim [] PHP []].
Xóa dấu gạch chéo ngược [\] khỏi dữ liệu đầu vào của người dùng [với hàm Php StripSlashes []].

Làm cách nào để tạo một hệ thống đăng ký sinh viên?

Làm thế nào để tạo hệ thống đăng ký sinh viên..
Tạo cơ sở dữ liệu. Đầu tiên chúng tôi sẽ tạo cơ sở dữ liệu của chúng tôi lưu trữ dữ liệu của chúng tôi. ....
Tạo kết nối cơ sở dữ liệu. Bước tiếp theo là tạo kết nối cơ sở dữ liệu và lưu nó là kết nối. ....
Tạo biểu mẫu và gửi dữ liệu vào cơ sở dữ liệu bằng PHP. ....
Hiển thị dữ liệu từ cơ sở dữ liệu ..

Làm cách nào để tạo mẫu đăng ký sinh viên trong HTML?

Tạo một mẫu đăng ký HTML trong 6 bước..
Chọn một trình soạn thảo HTML.Giống như bạn cần một trình xử lý văn bản để tạo tài liệu văn bản, bạn cần một trình soạn thảo văn bản để tạo mã HTML.....
Tạo tệp HTML của bạn.Thời gian để xuống kinh doanh.....
Thêm các trường văn bản cơ bản.....
Thêm các trường bổ sung.....
Thêm người giữ chỗ.....
Tùy chỉnh biểu mẫu HTML của bạn với CSS ..

Yêu cầu xác nhận hình thức nào cho PHP?

Xác thực biểu mẫu là một quá trình cần thiết trước khi dữ liệu được nhập vào biểu mẫu được gửi đến cơ sở dữ liệu.Điều này được thực hiện để tránh các lỗi không cần thiết.Trong xác thực biểu mẫu PHP, tập lệnh kiểm tra dữ liệu trong các trường tương ứng dựa trên các quy tắc do nhà phát triển đặt và trả về lỗi nếu nó không đáp ứng các yêu cầu.

Bài Viết Liên Quan

Chủ Đề