Chức năng thêm thành viên bằng CakePHP

Khi học CakePHP bạn có thể dễ dàng làm việc với Cơ sở dữ liệu (Database). Bằng cách thêm các chức năng thêm, sửa, xoá và cập nhật. Trong bài viết này bạn sẽ được hướn dẫn xây dựng chức năng thêm thành viên với CakePHP.

Tạo Database tên là data, tiếp theo thêm mã MySQL vào data

CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL,
`password` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE = InnoDB AUTO_INCREMENT = 7 DEFAULT CHARSET = latin1

Bước 1: Tạo tập tin tên là UsersController.php tại C:\xampp\htdocs\cakephp\src\Controller

<?php
namespace App\Controller;
use App\Controller\AppController;
use Cake\ORM\TableRegistry;
use Cake\Datasource\ConnectionManager;
use Cake\Auth\DefaultPasswordHasher;

class UsersController extends AppController{
public function add(){
if($this->request->is('post')){
$username = $this->request->data('username');
$hashPswdObj = new DefaultPasswordHasher;
$password = $hashPswdObj->hash($this->request->data('password'));
$users_table = TableRegistry::get('users');
$users = $users_table->newEntity();
$users->username = $username;
$users->password = $password;

if($users_table->save($users))
echo'<script language="javascript">alert("Thêm thành viên viết thành công!");</script>';
}
}
}

Bước 2: Tạo tập tin add.ctp tại C:\xampp\htdocs\cakephp\src\Template\Users

<?php
echo $this->Form->create("Users",array('url'=>'/users/add'));
echo $this->Form->input('username');
echo $this->Form->input('password');
echo $this->Form->button('Submit');
echo $this->Form->end();
?>

Bước 3: Cấu hình là routes.php tại C:\xampp\htdocs\cakephp\config

$routes->connect('/users/add', ['controller' => 'Users', 'action' => 'add']);

Thêm thành viên vào Database bằng CakePHP

Sau khi thực hiện xong bạn nhấp vào đăng ký sau đó ghé thăm bảng users bằng cách truy cập vào http://localhost/phpmyadmin/ để kiểm tra xem liệu thành viên đã được đăng ký chưa.

0 0 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments