Giai Nobel 2012
07:47:14 pm Ngày 21 Tháng Ba, 2024 *
Diễn đàn đã ngưng hoạt động và vào chế độ lưu trữ.
Mời tham gia và trao đổi trên nhóm Facebook >> TẠI ĐÂY <<
  Trang chủ Diễn đàn  


Quy định cần thiết


Diễn đàn đã ngưng hoạt động và vào chế độ lưu trữ. Mời tham gia và trao đổi trên nhóm Facebook >> TẠI ĐÂY <<

Trả lời

Thiết kế web với php

Trang: 1   Xuống
  In  
Tác giả Chủ đề: Thiết kế web với php  (Đọc 34717 lần)
0 Thành viên và 0 Khách đang xem chủ đề.
quochuynh
Thành viên mới
*

Nhận xét: +0/-0
Cảm ơn
-Đã cảm ơn: 0
-Được cảm ơn: 1

Offline Offline

Giới tính: Nam
Bài viết: 3


WWW Email
« vào lúc: 12:39:11 am Ngày 29 Tháng Mười Một, 2009 »

1/ Tạo kết nối database:

Tạo file "mysql.php" có code như sau:
PHP Code:
Code:
<?php
$db_host 
"localhost"// Giữ mặc định là localhost
$db_name "use"// Cần thay đổi..
$db_username "root"// Cần thay đổi..
$db_password ""// Cần thay đổi..
@mysql_connect("{$db_host}""{$db_username}""{$db_password}") or die("Không thể kết nối database");
@
mysql_select_db("{$db_name}") or die("Không thể chọn database");
?>


Bạn cần phải thay đổi thông tin ở 3 biến $db_name, $db_username, $db_password cho phù hợp với thông tin database của bạn.

2. Tạo table "members" dùng dể chứa thông tin thành viên:

Sau đó bạn tạo file "create_members_table.php" có code như sau:
PHP Code:
Code:
<?php
require_once("mysql.php");
@
mysql_query("CREATE TABLE `members` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
`username` VARCHAR( 128 ) NOT NULL ,
`password` VARCHAR( 32 ) NOT NULL ,
`email` VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY ( `id` )
) TYPE = MYISAM ;"
);
print 
"Table \"members\" đã được tạo.";
?>

Bạn tiếp tục chạy file "create_members_table.php" này để tiến hành tạo table "members", sau khi tạo xong thì xóa file này đi. Nếu bạn đã quen sử dụng phpMyAdmin thì bạn có thể tự tạo table này, còn đối với newbie thì nên làm theo cách của tôi, sau này bạn có thể tự tìm hiểu thêm.

3. Tạo trang đăng ký:

Tạo file "register.php" có code như sau:
PHP Code:
Code:
<?php
// Tải file mysql.php lên
require_once("mysql.php");
if ( 
$_GET['act'] == "do" )
{
// Dùng hàm addslashes() để tránh SQL injection, dùng hàm md5() để mã hóa password
$username addslashes$_POST['username'] );
$password md5addslashes$_POST['password'] ) );
$verify_password md5addslashes$_POST['verify_password'] ) );
$email addslashes$_POST['email'] );
// Kiểm tra 4 thông tin, nếu có bất kỳ thông tin chưa điền thì sẽ báo lỗi
if ( ! $username || ! $password || ! $verify_password || ! $email )
{
print 
"Xin vui lòng nhập đầy đủ các thông tin. <a href='javascript:history.go(-1)'>Nhấp vào đây để quay trở lại</a>";
exit;
}
// Kiểm tra mật khẩu, bắt buộc mật khẩu nhập lúc đầu và mật khẩu lúc sau phải trùng nhau
if ( $password != $verify_password )
{
print 
"Mật khẩu không giống nhau, bạn hãy nhập lại mật khẩu. <a href='javascript:history.go(-1)'>Nhấp vào đây để quay trở lại</a>";
exit;
}
// Tiến hành tạo tài khoản
@mysql_query("INSERT INTO members (username, password, email) VALUES ('{$username}', '{$password}', '{$email}')");
// Thông báo hoàn tất việc tạo tài khoản
print "Tài khoản {$username} đã được tạo. <a href='login.php'>Nhấp vào đây để đăng nhập</a>";
}
else
{
// Form đăng ký
print <<<EOF
<form action="register.php?act=do" method="post">
Tên truy nhập: <input type="text" name="username" value="">
Mật khẩu: <input type="password" name="password" value="">
Xác nhận mật khẩu: <input type="password" name="verify_password" value="">
Địa chỉ E-mail: <input type="text" name="email" value="">
<input type="submit" name="submit" value="Đăng ký tài khoản">
<Font size="5"> Form đăng kí</Font>
</form>
EOF;
}
?>

4. Tạo trang đăng nhập:

Tạo file "login.php" có code như sau:
PHP Code:
Code:
<?php
// Tải file mysql.php lên
require_once("mysql.php");
if ( 
$_GET['act'] == "do" )
{
// Dùng hàm addslashes() để tránh SQL injection, dùng hàm md5() để mã hóa password
$username addslashes$_POST['username'] );
$password md5addslashes$_POST['password'] ) );
// Lấy thông tin của username đã nhập trong table members
$sql_query = @mysql_query("SELECT id, username, password FROM members WHERE username='{$username}'");
$member = @mysql_fetch_array$sql_query );
// Nếu username này không tồn tại thì....
if ( @mysql_num_rows$sql_query ) <= )
{
print 
"Tên truy nhập không tồn tại. <a href='javascript:history.go(-1)'>Nhấp vào đây để quay trở lại</a>";
exit;
}
// Nếu username này tồn tại thì tiếp tục kiểm tra mật khẩu
if ( $password != $member['password'] )
{
print 
"Nhập sai mật khẩu. <a href='javascript:history.go(-1)'>Nhấp vào đây để quay trở lại</a>";
exit;
}
// Khởi động phiên làm việc (session)
@session_start();
$_SESSION['user_id'] = $member['id'];
// Thông báo đăng nhập thành công
print "Bạn đã đăng nhập với tài khoản {$member['username']} thành công. <a href='index.php'>Nhấp vào đây để vào trang chủ</a>";
}
else
{
// Form đăng nhập
print <<<EOF
<form action="login.php?act=do" method="post">
Tên truy nhập: <input type="text" name="username" value="">
Mật khẩu: <input type="password" name="password" value="">
<input type="submit" name="submit" value="Đăng nhập">
</form>
EOF;
}
?>

5. Tạo trang chủ:

Tạo file "index.php" với code như sau:
PHP Code:
Code:
<?php
require_once("mysql.php"); 
@
session_start();
if ( !
$_SESSION['user_id'] )

echo 
"Bạn chưa đăng nhập! <a href='login.php'>Nhấp vào đây để đăng nhập</a> hoặc <a href='register.php'>Nhấp vào đây để đăng ký</a>"; }
else
$user_id intval($_SESSION['user_id']);
 
$sql_query = @mysql_query("SELECT * FROM members WHERE id='{$user_id}'");
$member = @mysql_fetch_array$sql_query ); 
echo 
"Bạn đang đăng nhập với tài khoản {$member['username']}."; } 


Logged



your website: http://vatlyctu.com
pinkdreams210
Thành viên mới
*

Nhận xét: +0/-0
Cảm ơn
-Đã cảm ơn: 1
-Được cảm ơn: 0

Offline Offline

Bài viết: 8


Email
« Trả lời #1 vào lúc: 02:12:43 pm Ngày 15 Tháng Ba, 2011 »

thanks :x


Logged

web
Thành viên mới
*

Nhận xét: +0/-0
Cảm ơn
-Đã cảm ơn: 0
-Được cảm ơn: 1

Offline Offline

Bài viết: 2

Thiet ke web


WWW Email
« Trả lời #2 vào lúc: 09:28:44 am Ngày 19 Tháng Mười Hai, 2011 »

Hàm API trong thiết kế web bằng PHP

Khi bạn muốn tách biệt các phần khách - chủ, bạn sẽ có vài lựa chọn khác nhau, cụ thể là. Một cách là viết những hàm hiển thị nội dung linh động và đặt chúng đúng chỗ trong trang web của bạn.

Ví dụ cụ thể như sau cho thấy rõ điều đó:

index.php - phần khách

HTML
<?php include_once ("site.lib"); ?>
<html>
<head>
<title> <?php print_header (); ?> </title>
</head>
<body>
<h1> <?php print_header (); ?> </h1>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="25%">
<?php print_links (); ?>
</td>
<td>
<?php print_body (); ?>
</td>
</tr>
</table>
</body>
</html>

site.lib - phần chủ

Mã lệnh (PHP)
<?php
$dbh = mysql_connect ("localhost", "sh", "pass")
or die (sprintf ("Cannot connect to MySQL [%s]: %s", mysql_errno (), mysql_error ()));
@mysql_select_db ("MainSite")
or die (sprintf ("Cannot select database [%s]: %s", mysql_errno (), mysql_error ()));

$sth = @mysql_query ("SELECT * FROM site", $dbh)
or die (sprintf ("Cannot execute query [%s]: %s", mysql_errno (), mysql_error ()));

$site_info = mysql_fetch_object ($sth);

function print_header ()
{
global $site_info;
print $site_infheader;
}

function print_body ()
{
global $site_info;
print nl2br ($site_infbody);
}

function print_links ()
{
global $site_info;

$links = explode ("\n", $site_inflinks);
$names = explode ("\n", $site_inflink_names);

for ($i = 0; $i < count ($links); $i++)
{
print "\t\t\t <a xhref=\"$links[$i]\">$names[$i][/url] \n
\n";
}
}
?>

Các việc tách phần chủ làm cho dễ đọc trong chương trình, khi có các hàm API bạn sẽ dễ cho các thành viên thiết kế tham gia thay đổi bố cục mà không phải sửa mã
1.1. Lợi ích của hàm API

    * Tương đối sáng sủa

    * Nhanh, hầu như không lãng phí thời gian (overhead)

1.2. Bất lợi

    * Không sáng sủa và dễ dàng bằng hệ thống mẫu (template system)

    * Cần một ít kiến thức PHP để sửa mẫu

2. Hệ thống khuôn mẫu

Một cách khác để tách biệt khách chủ là dùng hệ thống khuôn mẫu. Nghĩa là, có một số đánh dấu nội dung sau đó dùng chương trình phân tích, thay thế các đánh dấu đó bằng thông tin cần thiết.

Thí dụ, bạn có thể tạo một tập tin như thế này:

HTML
<html>
<head>
<title>%%PAGE_TITLE%%</title>
</head>
<body %%BODY_PROPERTIES%%>
<h1>%%PAGE_TITLE%%</h1>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="25%">%%PAGE_LINKS%%</td>
<td>%%PAGE_CONTENT%%</td>
</tr>
</table>
</body>
</html>

Sau đó có thể viết chương trình phân tách tập tin, thay thế các thông tin trong dấu cách %% bằng các thông tin thích hợp.

Ghi chú: một lớp hỗ trợ hệ thống khuôn mẫu khá tốt là lớp FastTemplate, có ở URL is hidden from guests, please register and login to view the hyperlink

2.1. Ưu điểm của hệ thống khuôn mẫu

    * Rất trong sáng

    * Không cần kiến thức PHP để sửa khuôn mẫu

2.2. Nhược điểm

    * Chậm hơn, bạn cần phân tách tập tin khuôn mẫu, sau đó xuất ra

    * Việc hiện thực phức tạp hơn

Trên đây là các kiến thức về hàm API, chúc cho các bạn có được thêm kiến thức về PHP
« Sửa lần cuối: 09:31:03 am Ngày 19 Tháng Mười Hai, 2011 gửi bởi web »

Logged

Tags:
Trang: 1   Lên
  In  


Những bài viết mới nhất
Những bài viết mới nhất
 
Chuyển tới:  

© 2006 - 2012 Thư Viện Vật Lý.
Cache action__board_0_topic_2772_u__tags_0_start_0