Hướng dẫn làm web bán hàng bằng php

Mặc dù các CMS mã nguồn mngơi nghỉ như WordPress, Joomla,… đã trở yêu cầu cải cách và phát triển và góp câu hỏi kiến thiết website trsinh hoạt cần chuyên nghiệp rộng. Tuy nhiên sứ mệnh của vấn đề thiết kế thuần vẫn cực kỳ đặc biệt quan trọng. Lúc mã mối cung cấp có khá nhiều người dùng thì cấu tạo của chính nó cũng hoàn toàn có thể nhiều người biết đến khiến cho tính bảo mật website trsống đề nghị kém hơn. Đó là nguyên do mà rất không nhiều các trang báo phệ tuyệt những trang thương mại to họ ko áp dụng CMS. Trong bài viết này bản thân vẫn chia sẻ với chúng ta bí quyết viết một website bởi ngữ điệu PHP..

Bạn đang xem: Hướng dẫn làm web bán hàng bằng php

Tạo database cùng kết cấu folder

Trong hướng dẫn này mình chỉ chỉ dẫn tạo thành một website đơn giản dễ dàng. Vì vậy nên DataBase bản thân sẽ khởi tạo ra 3 bảng dễ dàng như sau:

Bảng web1_user: tàng trữ lên tiếng đăng nhập của người dùng

*

Với bảng trên mình sẽ tạo nên ra 4 ngôi trường theo lần lượt là:

id_web1_user: bao gồm giao diện int, thuộc tính tự tăng AUTO_INC…và nó là ngôi trường khóa bao gồm. web1_username: đã lưu lại tài khoản singin của người tiêu dùng. Mình để đại phong cách text, bạn có thể nhằm kiểu varchar vì nó thường ko đựng vệt và ký từ giới hạn.pass: thì dùng để làm lưu mật khẩu và mình cũng nhằm tựa như trường web1_username.name: ngôi trường để lưu tên của web1_user.

Bảng category: Lưu trữ những danh mục của bài bác viết

Mình sẽ tạo 4 ngôi trường đến bảng nàgiống như sau:

 id_cat: gồm dạng hình int, trực thuộc tính từ tăng AUTO_INC…cùng nó là trường khóa chính.name_cat: giữ thương hiệu của danh mục, có kiểu text.slug_cat: giữ giàng thương hiệu ko vệt, ko khoảng cách của hạng mục để làm đường truyền gần gũi sau này.status: khắc ghi tâm lý của hạng mục, cần sử dụng mẫu mã tinyint.

Bảng post: Lưu các lên tiếng về một bài bác đăng.

Các trường của bảng nàgiống hệt như sau:

id_post: có đẳng cấp int, nằm trong tính từ tăng AUTO_INC…cùng nó là ngôi trường khóa thiết yếu. id_cat: id của danh mục. Thật ra thi công như thế này không hoàn toàn đúng, bởi một bài xích đăng rất có thể ngơi nghỉ trong tương đối nhiều danh mục, nên quan hệ tình dục của chính nó là N-N tuy nhiên tại chỗ này tôi chỉ thiết kết cơ bản thứ hạng 1 bài bác đăng chỉ có một danh mục thôi.id_web1_user: id của web1_user tạo nên bài bác post.title: title của bài bác postdescription: trình bày của bài postcontent: câu chữ của bài postslug_post: tương tự slug_cat.status: tinh thần của bài xích postdate: ngày đăng bài bác post.

vì vậy mình đã bao gồm Database rồi. Các bảng này bản thân kiến thiết dễ dàng và đơn giản, không áp theo chuẩn chỉnh cùng tôi cũng ko so với kỹ. Nếu các bạn làm một dự án công trình nghiêm túc mình khuyên ổn chúng ta cần bỏ thời hạn để nghiên cứu kỹ về CSDL vì nó ảnh hưởng không hề ít về sau. Và bây chừ bọn họ đã tiến hành xuất bản cấu tạo thư mục mang lại website.

Cấu trúc này hay rất khác với đông đảo gì chúng ta sẽ học tập sinh sống ngôi trường vì chưng tại chỗ này mình thích đông đảo Request của người tiêu dùng chỉ thông qua 1 tệp tin duy nhất là index.php. Vấn đề này cũng thường dùng cùng với số đông các CMS hiện giờ.

Mục admin tạm thời chưa quan tâm, các bạn cứ coi nó như một website khác đi. Mục public là mục mình sẽ chứa cục bộ những tệp tin nhỏng css, js, img,… nói chung là đông đảo file nhưng người dùng có thể truy vấn trực tiếp. Mục site đã đựng các file xử lý nhỏng những action, database, widget,…..

Các mũi thương hiệu red color chỉ những từng trải của người tiêu dùng. Khi chúng ta đưa ra một yêu cầu mang lại 1 action làm sao đó nó đã Gọi mang lại những widget nhằm ngừng bối cảnh cùng trả lại đến file index hiển thị (đường color xanh).

 Tạo những action vào PHP:

Đầu tiên mình nên đem biến chuyển action trong file index. quý khách hàng msinh hoạt file index và code nhỏng sau:

tác dụng bạn nhận được vẫn là 1 trường đoản cú post. Bây giờ họ sẽ hiểu rằng họ cần xử lý một action post. Code đoạn sau vào tệp tin index.php.

Đầu tiên bản thân sẽ tạo ra một thay đổi $path để lưu đường dẫn cho dòng tệp tin action buộc phải giải pháp xử lý. Sau kia thì mình đang kiểm soát coi tệp tin kia bao gồm trường tồn hay không. Và mình vẫn sử dụng hàm require để require file đó vào. Cũng cùng với băng thông bạn msống file post.php vào tlỗi mục action với thêm vào trong dòng ngẫu nhiên, F5 lại bạn sẽ thấy tác dụng.

Tương tự như thế, giả dụ Call ?action=cat thì nó vẫn hotline vào file cat.php. Và ví như không tồn tại thay đổi action thì mang định nó đang require action trang chủ. Quý khách hàng hoàn toàn có thể thêm 1 file 404.php vào action nhằm thay thế sửa chữa mang đến loại emang lại nếu như action search là không thấy.

Thông thường thì hàm isset($_GET<‘action’>) ? $_GET<‘action’> : false; sẽ tiến hành thực hiện rất nhiều yêu cầu mình sẽ khởi tạo ra một hàm và chỉ truyền key vào thôi. Bây giờ đồng hồ bạn msống tệp tin site.php vào thư mục sys ra với code đoạn sau vào, Mình chế tạo luôn cả Việc rước đổi thay post nhé.

Cuối thuộc các bạn sửa đổi lại file index như thế này

Các mục sinh sống bên trên mình đã ghi chú lại rồi đấy. Tiếp theo bản thân đã chuyển những Widget vào các action. Công vấn đề này cũng dễ dàng nlỗi câu hỏi viết theme mang đến WordPress vậy.

Các hàm này đơn giản và dễ dàng chỉ với require vào những widget khớp ứng, trong hàm content bản thân đề nghị truyền thương hiệu nội dung nhằm xác định là content nào

Vậy là chấm dứt trang chủ. bạn có nhu cầu design mang lại nó thì mnghỉ ngơi từng widget lên để sửa đổi nhé, Nó tương tự như nlỗi cắt html cho theme WordPress vậy.

Nó đang mang lại trang index giả dụ hằng syspath chưa tồn tại. Thật ra bạn ko đề nghị tiếp tế những tệp tin widget đâu. Vậy nên bọn họ giành được một cấu tạo thư mục rồi. Bây giờ bản thân vẫn thao tác làm việc với cơ sở dữ liệu để mang tài liệu lên các action và widget.

*

Hàm mang danh sách dữ liệu:

Để nhân thể đến vấn đề mang một loạt dữ liệu, bản thân sẽ tạo nên một hàm mang danh sách dữ liệu với đoạn code nhỏng sau:

Đây là hàm buộc phải truyền tđê mê số. Tmê man số nghỉ ngơi đấy là một câutrước hết là sử dụng hàm openconnect; nhằm mở kết nối cho database.Sử dụng mysqli_query để truy vấn vấn dữ liệu với giữ vào trở nên $result.Hoàn thành truy nã vấn thì cần sử dụng hàm closeconnect; để đóng góp liên kết.Dùng hàm if bình chọn test giả dụ vươn lên là $result lỗi rất có thể đến dừng.Tiếp theo knhị báo một vươn lên là $danh sách là một kiểu mảng.Sử dụng hàm lặp while để lấy những tác dụng từng loại của $result về một trở thành. $row. fetch_assoc là một trong những lệnh nhằm mình kéo ra một mảng nhiều chiều, nó là một trong đối tượng người dùng.Từng dòng một sẽ được insert vào mảng $danh sách.Sử dụng hàm mysqli_free_resul để giải phóng bộ nhớ lưu trữ.Cuối cùng là trả về list chính là biến đổi $list.

Xem thêm: #1 Tạo Kí Tự Đặc Biệt Nhanh ❤️【3 Click Có Tên Đẹp 2020】, Tổng Hợp Ký Tự Đặc Biệt Trên Facebook

 Hàm đem 1 cái dữ liệu:

Ngoài câu hỏi lấy ra một tệp list thì bản thân cũng sẽ tạo ra một hàm để đưa 1 chiếc dữ liệu. Mặc cho dù có thể cần sử dụng thông thường hàm. nhưng mà mình đưa ra như vậy này để hàm lặp đỡ bắt buộc sử dụng nhiều do truy vấn 1 mẫu thường hết sức thịnh hành.

Không không giống gì cùng với hàm sống trên yêu cầu minch ko giải thích lại. ở chỗ này các bạn chỉ cần nạm mẫu hàm lặp thành một phát triển thành $row với nhét dữ liệu vào, sau đó là return nó về là đầy đủ.

Hàm thêm dữ liệu:

Đây là hàm chắc hẳn rằng sẽ viết rồi. hàm này mình đã buổi tối ưu hết sức kỹ bao gồm việc bảo đảm an toàn cho đoạn query tránh bị lỗi hoặc cố tình gây rối hoại bởi phương thức SQL Injection. Hàm này được code nhỏng sau.

Thứ nhất bạn khởi sinh sản hàm insert_data với được cho phép truyền vào nhị tham số là tên gọi bảng (đổi thay $table) và tài liệu là một trong mãng (biến $data).Trước Lúc làm việc cùng với cơ sở dữ liệu bạn nên mngơi nghỉ liên kết mang lại nó. Mình đã call hàm msinh hoạt liên kết vẫn viết. openconnectTiếp theo chúng ta cũng Call biến đổi $conn vào, nhưng lưu giữ thêm global.Mình sẽ tạo nên ra nhì vươn lên là là $field cùng $values nhằm lưu lại quý giá lặp trong biến $table.Bây tiếng thì đã lặp chiếc $data để mang ra những $key với $val. Biến mảng mình truyền vào là 1 mảng liên hợp.Trong hàm lặp mình đã nối những $key lại với được ngăn cách vì vệt “,” đưa vào biến hóa $field. những cái $val sẽ được nối lại cùng cũng được ngăn cách vì đấu “,” đưa vào biến đổi $values. Ở đây mình sử dụng hàm mysqli_real_escape_string để khử đi các ký kết trường đoản cú khiến lầm lẫn trong câu lệnh Squốc lộ. Đây là điểm cốt lõi của việc chống Squốc lộ Injection.Tiếp theo tạo ra một đổi mới $cmd nhằm giữ chuỗi lệnh cmd được nối vào từ bỏ những đọc tin sẽ lưu lại bên trên. Hàm tryên ổn trên là nhằm sa thải đi vết “,” dư ngơi nghỉ mỗi vươn lên là dịp trên bản thân nối.Đưa trở thành chuỗi $cmd vào lệnh mysqli_query để xúc tiến cùng trả về công dụng.Cuối thuộc là hotline hàm closeconnect nhằm đóng liên kết sau thời điểm xúc tiến.

Hàm sửa dữ liệu:

Điều khiếu nại truyền vào sinh sống hàm sửa nhiều hơn nữa không ít đối với hàm thêm, bngơi nghỉ hàm nên xác định được đối tượng nên sửa. Để dễ hiểu các bạn hãy coi hàm sau.

Với hàm này các bạn sẽ bắt buộc truyền thêm hai tđắm say số vào là $idfield cùng $idvalue kế bên $table với $data. Mình đã phân tích và lý giải kỹ rộng ở trong phần test những hàm.Mình sẽ không còn nói tới những phần tái diễn. Ở đây bản thân tạo ra một thay đổi $phối cùng sử dụng hàm lặp giống như bên trên để ghnghiền những $key với $val thành chuỗi chuyển vào trở thành $mix.Tiếp theo sinh sản trở nên $cmd cùng ckém các biến đổi vào đúng cú pháp của một câu Update. Ở câu này còn có một điều kiện where và bạn hãy gửi $idfield với $idvalue vào.Các phần cuối này tựa như câu ở trên.

Hàm xóa dữ liệu:

Đây là hàm sau cuối trong số hàm tiến hành dữ liệu, với nó cũng chính là hàm ngắn ngọ độc nhất. Code của hàm nhỏng sau:

Ở hàm này bản thân chỉ việc vào $table, $idfield với $idvalue.Nhìn code bên trên bạn sẽ hiểu do nó có toàn bộ các chiếc hàm trên phải bản thân không giải thích thêm về hàm này

Hàm đếm dữ liệu:

Đây là hàm bản thân bổ sung thêm để đưa số liệu hàng trả về. Số này sẽ được dùng để phân trang sau đây.

Hàm này mình gửi vào câu lệnh select count (trở nên $cmd) cùng trở thành ($counts) là tên trường AS mình đặt vào câu cmd. Mình sẽ giải thích kỹ rộng trong phần sau.

Kiểm tra demo các hàm:

Lúc viết kết thúc hàm, bạn nên demo nó để tìm hiểu chắn chắn nó vận động nhé. Bây giờ đồng hồ msinh hoạt file home.php trong thư mục action lên cùng triển khai code để kiểm tra từng đoạn nhỏng sau. Lưu ý là chúng ta nên kết nối mang đến DataBase rồi nhé. Nếu chưa được thì chúng ta xem lại phần 1.

Bạn đề nghị require chiếc tệp tin data.php vào nhằm liên kết CSDL.

Kiểm tra rước 1 dòng dữ liệu

Câu này dễ dàng là call hàm select_row với truyền vào một trong những câu lệnh select với gán hàm này mang đến trở thành $menu để lấy dữ liệu. Thật ra đấy là câu lệnh mình demo thôi. Thường thì các bạn đề xuất có where để mang chính xác hơn. Câu này chỉ trả về một sản phẩm dữ liệu trước tiên.

Để hiển thị cấu trúc của phát triển thành $các mục đã lưu lại, mình thực hiện lệnh var_dump.

Hàm đem danh sách tài liệu tương tự như đề nghị bản thân ko soát sổ nữa

Kiểm tra hàm them dữ liệu:

Trước hết buộc phải tạo ra đổi thay $data nhằm lưu giữ mãng dữ liệu bao gồm trường bạn phải insert với quý giá của trường đó.

Tiếp theo thì chỉ việc sẻ dụng nó nhỏng hàm trên, chỉ không giống là bạn cần truyền vào tên bảng trong csdl và trở nên tài liệu $data.

*

Kiểm tra hàm sửa dữ liệu:

Tương trường đoản cú hàm thêm tài liệu, hàm này bản thân chỉ việc truyền cung ứng hàm thương hiệu trường khóa bao gồm với id buộc phải sửa.

Kiểm tra hàm xóa dữ liệu:

Hàm này khôn xiết dễ dàng và đơn giản, bạn chỉ cần truyền vào thương hiệu bảng (web1_user), tên ngôi trường id (id_web1_user) với id nên xóa là được.

Xem thêm: Lịch Thi Thpt Quốc Gia 2020 Và Các Thông Tin Sĩ Tử Cần Chú Ý

Kiểm tra hàm mang số loại dữ liệu:

Hàm này bạn phải truyền vào một câu lệnh Select count(*). As là chúng ta đặt tên mang lại ngôi trường này. Giả sử mình đặt num thì vươn lên là truyền bên đó mình sẽ truyền là num.


Chuyên mục: Lập trình viên