BẠN ĐÃ NGHE VỀ BITCOIN VÀ MUỐN TÌM HIỂU CHÍNH THỐNG?

HƯỚNG DẪN TOÀN TẬP ĐẦU TƯ VỚI THỊ TRƯỜNG BITCOIN 2022

>> Xem tại đây <<

thiết kế website php

Tạo trang Thêm bài viết – Tạo website bằng PHP (phần 5)

Ở bài trước, chúng ta đã tìm hiểu về cách tạo trang đăng nhập để xử lý thông tin đăng nhập và chuyển hướng người dùng đến trang index.php khi thông tin đăng nhập là chính xác. Trong bài viết hôm này, mình sẽ hướng dẫn các bạn, tạo trang Thêm bài viết, dùng cho việc thêm một bài mới và hiển thị bài viết đó ra ngoài giao diện.

Trong bài hướng dẫn hôm nay, chúng ta sẽ làm những công việc như sau :

  • Thiết kế giao diện Thêm bài viết
  • Tiến hành xử lý và lưu bài viết vào cơ sở dữ liệu
  • Hiển thị bài viết ra bên ngoài website.

TẠO TRANG THÊM BÀI VIẾT

1. Thiết kế giao diện trang Thêm bài viết

Trong phần này mình sẽ hướng dẫn các bạn thiết kế giao diện đơn giản cho trang Thêm bài viết của chúng ta bao gồm :

  • Tiêu đề bài viết
  • Nội dung bài viết
  • Bài viết có được public hay không
  • Nút Thêm bài viết

Trong thư mục website mà chúng ta đã tạo ra ở các bài viết trước, các bạn tạo cho mình 1 thư mục mới đặt tên là admin, trong thư mục này các bạn copy 2 thư mục style và includes bỏ vào đây, đồng thời tạo 1 file mới đặt tên là them-bai-viet.php.

Cấu trúc thư mục admin như sau :

thêm bài viết, tạo website php

Tiếp đến, các bạn thêm đoạn code này vào trong file them-bai-viet.php

<?php include "includes/header.php" ?>
<form action="them-bai-viet.php" method="post">
		<table>
			<tr>
				<td colspan="2"><h3>Thêm bài viết mới</h3></td>
			</tr>	
			<tr>
				<td nowrap="nowrap">Tiêu đề bài viết :</td>
				<td><input type="text" id="title" name="title"></td>
			</tr>
			<tr>
				<td nowrap="nowrap">Nội dung :</td>
				<td><textarea name="content" id="content" rows="10" cols="150"></textarea></td>
			</tr>
			<tr>
				<td nowrap="nowrap">Public bài viết ? :</td>
				<td><input type="checkbox" id="is_public" name="is_public" value="1"> public</td>
			</tr>
			<tr>
				<td colspan="2" align="center"><input type="submit" name="btn_submit" value="Thêm bài viết"></td>
			</tr>

		</table>
		
	</form>
<?php include "includes/footer.php" ?>

Chạy đường dẫn

http://localhost/admin/them-bai-viet.php

, các bạn sẽ thấy giao diện hiển thị như sau :

giao diện thêm bài viết php

2 . Tiến hành xử lý thông tin và lưu bài viết vào cơ sở dữ liệu

Sau khi đã hoàn thành việc thiết kế giao diện, chúng ta sẽ tiến hành lấy thông tin từ form thêm bài viết, xử lý thông tin và lưu thông tin này vào cơ sở dữ liệu.

Trước tiên, để có thể lấy được thông tin người dùng khi đăng nhập đã lưu vào session ở bài trước, chúng ta cần phải khởi tạo session, đặt đoạn code này ở đầu trang them-bai-viet.php

session_start();

Sau khi đã khởi tạo session, ta tiến hành lấy thông tin từ form và lưu vào cơ sở dữ liệu

<?php require_once("includes/connection.php"); ?>
<?php
	if (isset($_POST["btn_submit"])) {
		//lấy thông tin từ các form bằng phương thức POST
		$title = $_POST["title"];
		$content = $_POST["content"];
		$is_public = 0;
		if (isset($_POST["is_public"])) {
			$is_public = $_POST["is_public"];
		}
		
		$user_id = $_SESSION["user_id"];

		$sql = "INSERT INTO posts(title, content, user_id, is_public, createdate, updatedate ) VALUES ( '$title', '$content', '$user_id', '$is_public', now(), now())";
		// thực thi câu $sql với biến conn lấy từ file connection.php
		mysqli_query($conn,$sql);
		echo "Bài viết đã thêm thành công";
	}

?>

Ở đoạn code trên, chúng ta thực hiện việc khởi tạo kến nối đến cở sở dữ liệu, sau đó kiểm tra người dùng đã ấn nút Thêm bài viết hay chưa, nếu đã ấn rồi thì sẽ tiến hành lấy thông tin từ form như tiêu đề, nội dung, is_public, user_id (lấy từ session khi người dùng đăng nhập) và lưu vào cơ sở dữ liệu.

Gợi ý : Bạn là người mới và muốn tìm hiểu về Bitcoin nhưng không biết bắt đầu từ đâu? Click xem ngay Hướng Dẫn Đầu Tư Bitcoin Cho Người Mới nhé!

3. Toàn bộ code trang them-bai-viet.php

Như vậy toàn bộ đoạn code của trang them-thanh-vien.php sẽ có nội dung như sau :

<?php
	session_start(); 
	include "includes/header.php";
 ?>
<?php require_once("includes/connection.php"); ?>
<?php
	if (isset($_POST["btn_submit"])) {
		//lấy thông tin từ các form bằng phương thức POST
		$title = $_POST["title"];
		$content = $_POST["content"];
		$is_public = 0;
		if (isset($_POST["is_public"])) {
			$is_public = $_POST["is_public"];
		}
		
		$user_id = $_SESSION["user_id"];

		$sql = "INSERT INTO posts(title, content, user_id, is_public, createdate, updatedate ) VALUES ( '$title', '$content', '$user_id', '$is_public', now(), now())";
		// thực thi câu $sql với biến conn lấy từ file connection.php
		mysqli_query($conn,$sql);
		echo "Bài viết đã thêm thành công";
	}

?>

	<form action="them-bai-viet.php" method="post">
		<table>
			<tr>
				<td colspan="2"><h3>Thêm bài viết mới</h3></td>
			</tr>	
			<tr>
				<td nowrap="nowrap">Tiêu đề bài viết :</td>
				<td><input type="text" id="title" name="title"></td>
			</tr>
			<tr>
				<td nowrap="nowrap">Nội dung :</td>
				<td><textarea name="content" id="content" rows="10" cols="150"></textarea></td>
			</tr>
			<tr>
				<td nowrap="nowrap">Public bài viết ? :</td>
				<td><input type="checkbox" id="is_public" name="is_public" value="1"> public</td>
			</tr>
			<tr>
				<td colspan="2" align="center"><input type="submit" name="btn_submit" value="Thêm bài viết"></td>
			</tr>

		</table>
		
	</form>
<?php include "includes/footer.php" ?>

Các bạn thử thêm 1 bài viết và ấn nút Thêm bài viết để xem kết quả nhé.

Như vậy là chúng ta đã hoàn thành xong phần tạo trang Thêm bài viết để thêm 1 bài viết mới vào cơ sở dữ liệu của chúng ta. Trong lần tới mình sẽ hướng dẫn các bạn cách hiển thị nội dung bài viết ra bên ngoài giao diện web nhé.

Kết thúc bài viết, nếu bạn có bất kỳ thắc mắc nào thì để lại comment bên dưới, chúng ta sẽ cùng nhau thảo luận. Nếu thấy bài viết hay thì đừng quên ấn nút  share bên dưới để mọi người cùng nhau học nhé.

 

Chúc các bạn học tốt !

Nguồn : kungfuphp.com

Có ích

tạo form upload trong php

Tạo phân quyền cho website PHP – Tạo website bằng PHP (Phần 8)

Đi qua một loạt 7 phần trong chuỗi seri Tạo website bằng PHP, trong phần …

Subscribe
Notify of
guest
22 Bình Luận
Inline Feedbacks
Xem Tất Cả Bình Luận
Bùi Nguyễn Hoàng Việt
Bùi Nguyễn Hoàng Việt
2 năm trước

cho e hỏi lỗi này là bị j v ạ

5d980d86b9b1588ac42e13d6.png

hoang hieu
hoang hieu
Phản hồi đến  Bùi Nguyễn Hoàng Việt
2 năm trước

Kiểm tra xem cột user_id có tồn tại trong db chưa hoặc giá trị user_id truyền vào có đúng chưa

aler
aler
2 năm trước

Warning: include(includes/header.php): failed to open stream: No such file or directory in C:\xampp\htdocs\Androidweb\admin\them-bai-viet.php on line 3

Warning: include(): Failed opening ‘includes/header.php’ for inclusion (include_path=’C:\xampp\php\PEAR’) in C:\xampp\htdocs\Androidweb\admin\them-bai-viet.php on line 3

Warning: require_once(includes/connection.php): failed to open stream: No such file or directory in C:\xampp\htdocs\Androidweb\admin\them-bai-viet.php on line 5

Fatal error: require_once(): Failed opening required ‘includes/connection.php’ (include_path=’C:\xampp\php\PEAR’) in C:\xampp\htdocs\Androidweb\admin\them-bai-viet.php on line 5

lỗi này là sao ạ ad?

phiền phức
3 năm trước

dẹp mẹ đi viết bài chị mà coppy k cho thì để làm gì

Mai thế Hùng
Mai thế Hùng
3 năm trước

làm sao lấy đc id người đăng nhỉ mình làm nó toàn user_id không đc xác đinh

Hằng Lê
Hằng Lê
3 năm trước

anh ơi. sao em không tìm được file hướng dẫn quản lí thành viên của bài viết sau bài này ạ?

Hằng Lê
Hằng Lê
Phản hồi đến  Tôi Là Hoàng Hiếu
3 năm trước

anh ơi.sao hôm trước em chạy ok nhưng hôm chạy nó lại báo lỗi dòng 15 ý là k lấy được id người đăng ạ

lapnv
lapnv
3 năm trước

$content có kiểu dự liệu là TEXT(65,535 ký tự), nhưng khi thêm chuỗi khoảng 500 ký tự, csdl ko lưu đc.
em bị lỗi phần này ạ!

lapnv
lapnv
Phản hồi đến  Tôi Là Hoàng Hiếu
3 năm trước

cảm ơn anh, em fix được rồi ạ :v

longhb
3 năm trước

làm thế nào để dùng javascript bắt lỗi không nhập thông tin được vậy a?

longhb
Phản hồi đến  Tôi Là Hoàng Hiếu
3 năm trước

e hiểu rồi, cảm ơn a!

thịnh
thịnh
4 năm trước

em muốn dùng select để public

Public
Only me

làm sao để lấy giá trị trong opion ạ

Nguyenhuu Trung
5 năm trước

ad ơi mình thêm bài viết nhưng nó không lưu vào csdl ad giúp mình với

hoangsnow9x
hoangsnow9x
5 năm trước

$user_id = $_SESSION[“user_id”];

em bị lỗi ở phần này ạ

Đại Tài
Đại Tài
Phản hồi đến  Tôi Là Hoàng Hiếu
4 năm trước

( ! ) Notice: Undefined index: user_id in C:\wamp64\www\website\admin\them-bai-viet.php on line 16
Mình cũng bị lỗi tương tự khi thêm bài viết.

longhb
Phản hồi đến  Đại Tài
3 năm trước

đây là lỗi do nó chưa nhận được bất kỳ session nào lưu thông tin của user.
bạn nên thực hiện đăng nhập trước để nó lưu sessionm rồi hãy thêm bài viết thì mới có thông tin user nhé

Phu Pham
Phu Pham
Phản hồi đến  hoangsnow9x
4 năm trước

Lỗi của bạn gặp do biến chưa được định nghĩa.
Có cách để tắt thông báo lỗi cho biến bằng cách thêm @ ở phía trước dấu $

22
0
Bạn có ý kiến về bài viết, hãy để lại bình luận nhé!x
()
x