Showing posts with label PHP & MySql. Show all posts
Showing posts with label PHP & MySql. Show all posts
Saturday, May 16, 2015
Hướng dẫn xây dựng mô hình MVC trong PHP
20Me Reviews
12:30 AM
Khi viết code bằng PHP bạn thường viết theo kiểu tất cả mọi thứ đều đổ lên một trang.Từ code PHP , HTML , các xử lý , kết nối đều trên một trang , việc này không hề giúp bạn làm công việc tốt hơn . Không những vậy nó còn làm cho mô hình lập trình của bạn càng rắc rối hơn. Để thực hiện quản lý tốt code của mình và thực hiện sửa chữa , nâng cấp tốt hơn bạn nên xây dựng theo chuẩn , ở đây xin giới thiệu bạn chuẩn MVC cho PHP giúp bạn hiểu thêm về vấn đề này.
Tuesday, April 7, 2015
Tạo form đăng ký, đăng nhập bằng php và mysql
20Me Reviews
11:17 AM
Bạn đang làm một website? Site của bạn thuộc dạng chuyên nghiệp? hay nghiệp dư? ... thì cơ bản bạn cũng phải cần đến một trang đăng ký dùng để tạo tài khoản và trang đăng nhập dùng để truy nhập tài khoản đã đăng ký. Trong phạm vi bài viết này tôi sẽ trình bày cách viết 1 trang đăng ký, đăng nhập cơ bản mà bạn có thể ứng dụng ngay.
1/ Tạo kết nối database:
Tạo file "mysql.php" có code như sau:
PHP Code:
2. Tạo table "members" dùng dể chứa thông tin thành viên:
Sau đó bạn tạo file "khoitao.php" có code như sau:
PHP Code:
3. Tạo trang đăng ký:
Tạo file "register.php" có code như sau:
PHP Code:
Tạo file "login.php" có code như sau:
PHP Code:
Tạo file "index.php" với code như sau:
PHP Code:
Lưu ý:
Các bạn nên dùng các trình soạn thảo chuyên cho lập trình để tạo các file trên, Nếu dùng Notepad của window thì có thể sẽ bị lỗi khởi động session nếu lưu dạng UTF-8, còn nếu lưu dạng Ascii thì lại bị lỗi font
Ví dụ đính kèm - Download
1/ Tạo kết nối database:
Tạo file "mysql.php" có code như sau:
PHP Code:
<?phpBạ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.
$db_host = "localhost"; // Giữ mặc định là localhost
$db_name = 'demo';// Can thay doi
$db_username = 'root'; //Can thay doi
$db_password = 'laivt';//Can thay doi
@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");
?>
?>
2. Tạo table "members" dùng dể chứa thông tin thành viên:
Sau đó bạn tạo file "khoitao.php" có code như sau:
PHP Code:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">Bạn tiếp tục chạy file "khoitao.php" này để tiến hành tạo table "members" và tk admin, 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.
<title>Ebook-coding - Khoi tao CSDL (Huong Dan tao trang dang ki/Dang Nhap)</title>
<?php
require_once("mysql.php");
@$create=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 ,
`URLS` VARCHAR( 255 ) NOT NULL ,
`Name` VARCHAR( 255 ) NOT NULL ,
`Birthday` VARCHAR( 255 ) NOT NULL ,
`admin` INT( 1 ) NOT NULL DEFAULT '0' ,
PRIMARY KEY ( `id` )
) TYPE = MYISAM ;");
@$add_admin=mysql_query("
INSERT INTO `demo`.`members` (
`id` ,
`username` ,
`password` ,
`email` ,
`URLS` ,
`Name` ,
`Birthday` ,
`admin`
)
VALUES (
NULL , 'admin', MD5( 'admin' ) , 'admin@sinhvienit.net', 'http://sinhvienit.net', 'Vũ Thanh Lai', '29/09/1990', '1'
);
");
if ($create)
print "Table \"members\" đã được tạo.<br>";
else
print "Table \"members\" chưa được tạo do lỗi truy vấn SQL.<br>";
if ($add_admin)
print "<b>TK Admin:</b><br>User: admin<br>Pass:admin<br>";
else
print "Ko thể tạo tài khoản admin vì lỗi SQL.<br>";
echo '<a href="http://ebook-coding.blogspot.com/">Click vào đầy để xem Demo</a>';
?>
3. Tạo trang đăng ký:
Tạo file "register.php" có code như sau:
PHP Code:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">4. Tạo trang đăng nhập:
<title>Ebook-Coding- Dang ky thanh vien (Huong dan xay dung trang Dang ky/dang Nhap)</title>
<?php
// Tải file mysql.php lên
require_once("mysql.php");
//Kiem tra email co hop le hay ko
function check_email($email) {
if (strlen($email) == 0) return false;
if (eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $email)) return true;
return false;
}
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 = md5( addslashes( $_POST['password'] ) );
$verify_password = md5( addslashes( $_POST['verify_password'] ) );
$email = addslashes( $_POST['email'] );
$ten = addslashes( $_POST['name'] );
$sinhnhat = addslashes( $_POST['sn'] );
$url = addslashes( $_POST['url'] );
// Kiểm tra 7 thông tin, nếu có bất kỳ thông tin chưa điền thì sẽ báo lỗi
if ( ! $username || ! $_POST['password'] || ! $_POST['verify_password'] || ! $email || ! $ten || ! $sinhnhat || ! $ten)
{
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 username nay co nguoi dung chua
if ( mysql_num_rows(mysql_query("SELECT username FROM members WHERE username='$username'"))>0)
{
print "Username này đã có người dùng, Bạn vui lòng chọn username khác. <a href='javascript:history.go(-1)'>Nhấp vào đây để quay trở lại</a>";
exit;
}
// Kiểm tra email nay co hop le ko
if (!check_email($email))
{
print "Email này ko hợp lệ. <a href='javascript:history.go(-1)'>Nhấp vào đây để quay trở lại</a>";
exit;
}
if (!ereg("^[0-9]+/[0-9]+/[0-9]{2,4}",$sinhnhat))
{
print "Ngày tháng năm sinh ko hợp lệ. <a href='javascript:history.go(-1)'>Nhấp vào đây để quay trở lại</a>";
exit;
}
// Kiểm tra email nay co nguoi dung chua
if ( mysql_num_rows(mysql_query("SELECT email FROM members WHERE email='$email'"))>0)
{
print "Email này đã có người dùng, Bạn vui lòng chọn Email khác. <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
@$a=mysql_query("INSERT INTO members (username, password, email,URLS,Name,Birthday) VALUES ('{$username}', '{$password}', '{$email}', '{$url}', '{$ten}', '{$sinhnhat}')");
// Thông báo hoàn tất việc tạo tài khoản
if ($a)
print "Tài khoản {$username} đã được tạo. <a href='login.php'>Nhấp vào đây để đăng nhập</a>";
else
print "Có lỗi trong quá trình đăng kí, Vui lòng liên hệ BQT";
}
else
{
// Form đăng ký
print <<<EOF
<form action="register.php?act=do" method="post">
<table border="1" width="400" cellspacing="1" style="border-collapse: collapse" bordercolor="#C0C0C0">
<tr>
<td>Tên truy nhập:</td>
<td><input type="text" name="username" value=""></td>
</tr>
<tr>
<td>Mật khẩu:</td>
<td><input type="password" name="password" value=""></td>
</tr>
<tr>
<td>Xác nhận mật khẩu:</td>
<td><input type="password" name="verify_password" value=""></td>
</tr>
<tr>
<td>Địa chỉ E-mail:</td>
<td><input type="text" name="email" value=""></td>
</tr>
<tr>
<td>URL:</td>
<td><input type="text" name="url" value=""></td>
</tr>
<tr>
<td>Tên:</td>
<td><input type="text" name="name" value=""></td>
</tr>
<tr>
<td>Sinh nhật (Ngày/Tháng/Năm):</td>
<td><input type="text" name="sn" value=""></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Đăng ký tài khoản"></td>
<td><Font size="5"> Ebook-Coding</Font></td>
</tr>
</table>
</form>
EOF;
}
?>
Tạo file "login.php" có code như sau:
PHP Code:
<?php5. Tạo trang chủ:
session_start();
header('Content-Type: text/html; charset=UTF-8');
echo '<title>SinhVienIT.Net - dang nhap (Huong Dan tao trang dang ki/Dang Nhap)</title>';
// 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 = md5( addslashes( $_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 ) <= 0 )
{
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['user_id'] = $member['id'];
$_SESSION['user_admin'] = $member['admin'];
// 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;
}
?>
Tạo file "index.php" với code như sau:
PHP Code:
<?phpChúc các bạn thành công!
session_start();
header('Content-Type: text/html; charset=UTF-8');
echo '<title>SinhVienIT.Net - Homepage (Huong Dan tao trang dang ki/Dang Nhap)</title>';
require_once("mysql.php");
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']}.";
echo "<br><a href='suathongtin.php'>Sửa thông tin</a>";
if ($member['admin']=="1") echo "<br><a href='admin.php'>Trang quản trị</a>";
echo "<br><a href='thoat.php'>Thoát ra</a>";
}
?>
6. Tạo trang admin:
Tạo file "admin.php" với code như sau:
PHP Code:
<?php
session_start();
header('Content-Type: text/html; charset=UTF-8');
require_once("mysql.php");
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']}.";
echo "<br><a href='thoat.php'>Thoát ra</a><hr>";
if ($member['admin']!="1")
echo "Bạn ko phải là admin";
else
{
//Noi dung cac ham, cac lenh va code danh cho admin
echo "Các code cho admin ở đây";
}
}
?>
5. Tạo trang logout:
Tạo file "thoat.php" với code như sau:
PHP Code:
<?php
session_start();
header('Content-Type: text/html; charset=UTF-8');
echo '<title>SinhVienIT.Net - Huong Dan tao trang dang ki/Dang Nhap</title>';
if (session_destroy())
echo "Thoát thành công!";
else
echo "KO thể thoát dc, có lỗi trong việc hủy session";
echo '<br><a href="http://sinhvienit.net/forum/">Bấm vào đây để quay lại trang chủ<br></a>';
?>
5. Tạo trang sửa thông tin cá nhân:
Tạo file "suathongtin.php" với code như sau:
PHP Code:
<?php
session_start();
header('Content-Type: text/html; charset=UTF-8');
echo '<title>SinhVienIT.Net - Sua thong tin ca nhan (Huong Dan tao trang dang ki/Dang Nhap)</title>';
echo '<a href="http://sinhvienit.net/forum/">Bấm vào đây để quay lại<br></a>';
require_once("mysql.php");
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 );
//----Noi dung thong bao sau khi sua
$thanhcong='Sửa thành công <a href="http://sinhvienit.net/forum/">Quay lại</a>';
$kothanh='Sửa ko thành công';
echo "<b>Đang Sửa tài khoản {$member['username']}</b>.<br>";
if ($_GET['do']=="sua") {
$ten = addslashes( $_POST['name'] );
$pass = md5( addslashes( $_POST['pass'] ) );
$sn = addslashes( $_POST['sn'] );
$url = addslashes( $_POST['url'] );
$email = addslashes( $_POST['email'] );
$sql="
UPDATE `members` SET
`email` = '".$email."',
`URLS` = '".$url."',
`Name` = '".$ten."',
`Birthday` = '".$sn."' WHERE `id` =$user_id LIMIT 1 ;";
if ($sua=mysql_query($sql))
echo $thanhcong;
else
echo $kothanh;
if ($_POST['pass']!="") {
$sqlx="UPDATE `members` SET `password` = '".$pass."' WHERE `id` = '$user_id' LIMIT 1 ;";
$suapass=mysql_query($sqlx);
if ($suapass)
echo "(Đã đổi pass) ";
else
echo "(Chưa đổi pass) ";
}
}
else
echo"
<form method='POST' action='?do=sua'>
<table border='1' width='100%' id='table1' cellspacing='0' cellpadding='0' style='border-collapse: collapse' bordercolor='#C0C0C0'>
<tr>
<td>Tên:</td>
<td><input type='text' value='{$member['Name']}' name='name' size='20'></td>
</tr>
<tr>
<td>URL:</td>
<td><input type='text' value='{$member['URLS']}' name='url' size='20'></td>
</tr>
<tr>
<td>Sinh Nhật:</td>
<td><input type='text' name='sn' value='{$member['Birthday']}' size='20'></td>
</tr>
<tr>
<td>Email:</td>
<td><input type='text' name='email' value='{$member['email']}' size='20'></td>
</tr>
<tr>
<td>Pass:</td>
<td><input type='password' name='pass' size='20'></td>
</tr>
</table>
<p align='center'><input type='submit' value='Sửa'><input type='reset' value='Khôi phục' name='B2'></p>
</form>
";
}
?>
Lưu ý:
Các bạn nên dùng các trình soạn thảo chuyên cho lập trình để tạo các file trên, Nếu dùng Notepad của window thì có thể sẽ bị lỗi khởi động session nếu lưu dạng UTF-8, còn nếu lưu dạng Ascii thì lại bị lỗi font
Ví dụ đính kèm - Download
Nguồn:Sinhvienit
Tuesday, June 10, 2014
Hướng dẫn tạo database trong cpanel
20Me Reviews
7:09 PM
Thấy có nhìu bạn hỏi về cái này nên mình làm 1 topic hướng dẫn lun . Vì ko có time nên mình làm trên Cpanel , ( cái nỳ dc dùng nhìu nhất)
Anh em ai rảnh có thể giúp mình làm hướng dẫn trên các trình khác cho anh em như: Diectadmin , Plesk , Vista panel ...
Thanks !!!!!!!! còn đây là nội dung chính
Níu cậu dùng localhost thì thường sẽ vao localhost/phpmyadmin để tạo
Nếu dùng cpanel , hãy vao trình quản lý host cua mình và làm theo hình dưới
Sau khi bấm vao đó sẽ có trang sau:
Nhập tên data xong thì bấm create database.
Sau khi tao data xong bấm go back
Sau khi cậu bấm go back sẽ trở về trang hồi nãy, cậu keo xuống dưới sẽ có phần sau
Bấm creata user để tao người dùng mới
Sau khi tao người dung mới bấm go back để quay lại trang nãy, cậu keo xuống thêm chút nưa sẽ có phần sau
Bấm add để them người dùng vao data
Cậu lưuu ý, với cpanel thì
tên user sau khi tao là: tàikhoảnhost_tên user
tên data:tàikhoảnhost_tên data
pass: như cậu đã nhập
Để tao, têm sửa , xóa , table , bản ghi mới, cũ ...
Các cậu vào phpmyadmin làm:
Để vào phpmyadmin , cậu bấm nút sau ở trang chủ trình quản lý host
nguồn : sinhvienit
Anh em ai rảnh có thể giúp mình làm hướng dẫn trên các trình khác cho anh em như: Diectadmin , Plesk , Vista panel ...
Thanks !!!!!!!! còn đây là nội dung chính
Níu cậu dùng localhost thì thường sẽ vao localhost/phpmyadmin để tạo
Nếu dùng cpanel , hãy vao trình quản lý host cua mình và làm theo hình dưới
Sau khi bấm vao đó sẽ có trang sau:
Nhập tên data xong thì bấm create database.
Sau khi tao data xong bấm go back
Sau khi cậu bấm go back sẽ trở về trang hồi nãy, cậu keo xuống dưới sẽ có phần sau
Bấm creata user để tao người dùng mới
Sau khi tao người dung mới bấm go back để quay lại trang nãy, cậu keo xuống thêm chút nưa sẽ có phần sau
Bấm add để them người dùng vao data
Cậu lưuu ý, với cpanel thì
tên user sau khi tao là: tàikhoảnhost_tên user
tên data:tàikhoảnhost_tên data
pass: như cậu đã nhập
Để tao, têm sửa , xóa , table , bản ghi mới, cũ ...
Các cậu vào phpmyadmin làm:
Để vào phpmyadmin , cậu bấm nút sau ở trang chủ trình quản lý host
nguồn : sinhvienit
Thursday, May 22, 2014
Ebook dạy PHP Online
20Me Reviews
2:16 PM
PHP là 1 mã nguồn mở thông dụng dễ học , đa phần là tự học là chính, Php giúp trang web trở lên sinh động hơn, hấp dẫn , bảo mật tốt . Ngày càng được dân lập trình ưa thích
Download Tại Đây
Download Tại Đây
Translate
Được Quan Tâm
-
Hiện nay có rất nhiều các mẫu đơn xin việc được in sẵn và bán rất nhiều trong các tiệm photo, tiệm tạp hóa, cũng như sự phát triển của inter...
-
Hình ảnh là một phần không thể thiếu trong mỗi bài viết trong wordpress. Hình ảnh góp phần làm cho website của bạn thêm đẹp hơn so với nhữn...