Giai Nobel 2012
09:03:44 PM Ngày 25 Tháng Sáu, 2019 *

Chào mừng bạn đến với Diễn Đàn Vật Lý.

Bạn có thể đăng nhập hoặc đăng ký.
Hay bạn đã đăng ký nhưng cần gửi lại email kích hoạt tài khoản?
Vui lòng nhập tên Đăng nhập với password, và thời gian tự động thoát





Lưu ý: Đây là diễn đàn của Thư Viện Vật Lý. Tài khoản ở Diễn Đàn Vật Lý khác với tài khoản ở trang chủ Thuvienvatly.com. Nếu chưa có tài khoản ở diễn đàn, bạn vui lòng tạo một tài khoản (chỉ mất khoảng 1 phút!!). Cảm ơn các bạn.
Phòng chát chít
Bạn cần đăng nhập để tham gia thảo luận
Vật lý 360 Độ
Thiên hà M106
22/06/2019
Bảng tuần hoàn hóa học tốc hành (Phần 40)
21/06/2019
Bảng tuần hoàn hóa học tốc hành (Phần 39)
21/06/2019
Trung tâm từ trường của Ngân Hà
20/06/2019
NGC 4676: Đôi Chuột Mờ Sương
20/06/2019
Tương lai của tâm trí - Michio Kaku (Phần 8)
20/06/2019

follow TVVL Twitter Facebook Youtube Scirbd Rss Rss
  Trang chủ Diễn đàn Tìm kiếm Đăng nhập Đăng ký  


Quy định cần thiết


Chào mừng các bạn đến với diễn đàn Thư Viện Vật Lý
☞ THI THỬ THPT QG LẦN 8 MÔN VẬT LÝ 2019 - 21h00 NGÀY 9-6-2019 ☜

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 20189 lần)
0 Thành viên và 1 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


Xem hồ sơ cá nhân 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


Xem hồ sơ cá nhân Email
« Trả lời #1 vào lúc: 02:12:43 PM Ngày 15 Tháng Ba, 2011 »

thanks


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


Xem hồ sơ cá nhân WWW Email
« Trả lời #2 vào lúc: 08: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: 08:31:03 AM Ngày 19 Tháng Mười Hai, 2011 gửi bởi web »

Logged

Tags:
Trang: 1   Lên
  In  
sch

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


Tắt bộ gõ tiếng Việt [F12] Bỏ dấu tự động [F9] TELEX VNI VIQR VIQR* kiểm tra chính tả Đặt dấu âm cuối
Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC © 2006 - 2012 Thư Viện Vật Lý.