Code php dùng để backup database mysql không lỗi tiếng việt

Backup Database Mysql

Việc Backup dữ liệu thường xuyên sẽ đảm bảo về vấn đề website bị mất dữ liệu khi bị hacker tấn công.

Trung bình mỗi tuần hoặc mỗi tháng các nhà quản trị website sẽ Backup dữ liệu trang web về máy. Việc Backup dữ liệu Mysql sẽ rất tốn thời gian vì phải trải qua giai đoạn như:

+ Đăng nhập vào hosting website.

+ Vào hệ thống quản trị cơ sở dữ liệu Mysql (Mysql database).

+ Chọn cơ sở dữ liệu (database) cần Backup.

+ Export dữ liệu về máy.

Dưới đây, là đoạn code php giúp bạn Backup dữ liệu về máy mà không cần phải qua các thao tác trên. Dữ liệu được backup khi khôi phục (restore) sẽ không gây ra lỗi tiếng việt cho website.

Các bước tạo file php Backup Database:

- Trước tiên bạn cần tạo ra một file connection.php để kết nối đến cơ sở dữ liệu với nội dung như sau:

$host="localhost"; // Mặc định là localhost
$uname="username_database";
$pass="password_database";
$database = "database_name";
// Hàm bỏ qua lỗi kết nối
error_reporting(E_ALL ^ E_DEPRECATED);
// Xử lý kết nối database
$connection=mysql_pconnect($host,$uname,$pass) or die("Database Connection Failed");
// Xử lý lấy dữ liệu ngôn ngữ utf8
mysql_set_charset('utf8',$connection);
// Kết nối đến cơ sở dữ liệu
$selectdb=mysql_select_db($database) or die("Database could not be selected");
$result=mysql_select_db($database) or die("Database cannot be selected");

- Tiếp theo bạn tạo file database_backup.php với hàm xuất dữ liệu thành file .sql có nội dung:

// Lấy đường dẫn file kết nối cơ sở dữ liệu
include("connection.php");
function backup_db(){
	// Lưu trữ tất cả tên Table vào một mảng
	$return='';
	$allTables = array();
	$result = mysql_query('SHOW TABLES');
	while($row = mysql_fetch_row($result)){
		 $allTables[] = $row[0];
	}
	 
	foreach($allTables as $table){
		$result = mysql_query('SELECT * FROM '.$table);
		$num_fields = mysql_num_fields($result);
		 
		$return.= 'DROP TABLE IF EXISTS '.$table.';';
		$row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table));
		$return.= "\n\n".$row2[1].";\n\n";
		 
		for ($i = 0; $i < $num_fields; $i++) {
			while($row = mysql_fetch_row($result)){
				$return.= 'INSERT INTO '.$table.' VALUES(';
				for($j=0; $j<$num_fields; $j++){
					$row[$j] = addslashes($row[$j]);
					$row[$j] = str_replace("\n","\\n",$row[$j]);
					if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; }
					else { $return.= '""'; }
					if ($j<($num_fields-1)) { $return.= ','; }
				}
				$return.= ");\n";
			}
		}
		$return.="\n\n";
	}
	 
	// Tạo thư mục Backup
	$folder = 'DB_Backup/';
	if (!is_dir($folder))
	mkdir($folder, 0777, true);
	chmod($folder, 0777);	
	// Đặt tên file
	$date = date('m-d-Y-H-i-s', time());
	$filename = $folder."db-backup-".$date;
	//Tạo file .sql
	$handle = fopen($filename.'.sql','w+');
	fwrite($handle,($return));
	fclose($handle);
}
 
// Gọi hàm thực thi
backup_db();

Khi bạn chạy file database_backup.php thì nó sẽ thực thi xuất ra file .sql cho bạn.

Với đoạn code trên bạn có thể viết thêm một ứng quản lý backup dữ liệu trên host thật dễ dàng mà không mất nhiều thời gian.

Chúc các bạn thành công!

PHÂN CHIA SỐ ĐIỆN THEO NHÓM TRÊN C#

- NHƯ CHÚNG TA ĐÃ BIẾT SỐ ĐIỆN THOẠI CÓ CẤU TRÚC NHƯ SAU: XXXX.XXX.XX (10 SỐ) HOẶC XXXX.XXX.XXXX (12 SỐ)

- Trên các diễn đàn và website có nhiều cách xử lý cho trường hợp này. Nhưng tôi thấy quá gườm gà. sau đây tôi xin giới thiệu cách làm đơn giản nhất

B1: BẮT SỰU KIỆN KEYUP

if (!e.KeyCode.Equals(Keys.Back))
{
   if (txt_dt_nguoinhan.Text.Length == 4)
   txt_dt_nguoinhan.Text = txt_dt_nguoinhan.Text + ".";  ==> GROUP 4 SỐ ĐẦU
   else if (txt_dt_nguoinhan.Text.Length == 8)
   txt_dt_nguoinhan.Text = txt_dt_nguoinhan.Text + "."; ==> GROUP 3 SỐ TIẾP THEO
}
  txt_dt_nguoinhan.Select(txt_dt_nguoinhan.Text.Length, 0);

B2: BẮT SỰU KIỆN KEYPRESS KHÔNG CHO NHẬP DÂU CHẤM

if (char.IsLetter(e.KeyChar) || char.IsSymbol(e.KeyChar) || char.IsWhiteSpace(e.KeyChar) || char.IsPunctuation(e.KeyChar))
{
   e.Handled = true; //Không cho thể hiện lên TextBox
}

CHÚC THÀNH CÔNG!

Kỹ thuật hack password - Mở khóa password dấu ** Trên Trình Duyệt

ĐẶT VẤN ĐỀ

- Nếu vô tình khi vào máy tính của một ai đó. Ví dụ như facebook chẳng hạn. Nếu muốn lấy mật khẩu đó mang về máy tính mình đăng nhập ta làm như sau

B1: Vào facebook của máy tính cần xem

B2: Tại khung mật khẩu ta bấm chuột phải / kiểm tra phần tử

- Sau khi chọn kiểm tra giao diện sau xuất hiện

B3: Bấm tổ hợp phím Ctrl + Alt + F / và nhập từ "password"

- Bạn thấy từ type="password" không?. Thay type="password" -> type="text"

- Như vậy password tôi tìm thấy là ' NGUYENNGOCTAN"

(BÀI VIẾT CHỈ MANG TÍNH CHẤT HỌC HỎI KHÔNG ĐƯỢC SỬ DỤNG VỚI MỤC ĐÍCH KHÁC)

 

Một Số Kỹ Thuật Lập Trình Căn Bản Cần Nắm Cho Sinh Viên Năm nhất

1. Kỹ thuật cắm cờ (Falg)

Bạn sẽ lưu giá trị flag luôn luôn là một con số mặc định nào đó, thường là 0. Với các trường hợp đặc biệt khác, ta lưu giá trị nó làm các con số khác nhau để tiện cho việc xử lý.

Ví dụ như ở đây, tôi muốn kiểm tra đây có phải là số nguyên tố hay không. Tôi cài đặt 1 biến flag = 0, số đang kiểm tra là số x, khi x không phải là số nguyên  tố thì flag = 1. Sau đó dựa vào biến flag mà tôi quyết định có in ra màn hình

//cài đặt biến x lưu giá trị của một con số nào đó, ví dụ như ở đây, tôi lấy x = 13;

int x = 13;

//cài đặt biến flag với giá trị là 0

int flag = 0;

//vòng lặp này để kiểm tra x có phải là số nguyên tố không

int i = 2;

while ( i < x )

{

if ((x % i) == 0)

{

//khi x chia hết cho một số bất kỳ thì x không phải là số nguyên tố

flag = 1;

}

i = i + 1;

}

//dựa trên giá trị của biến flag mà ta quyết định x là số nguyên tố hay không

if (flag == 0)

{

printf("x la so nguyen to");

}

else

{

printf("x khong phai so nguyen to");

}

 2. Kỹ thuật tạo biến đếm

Ta sẽ tạo một biến đếm với giá trị ban đầu là 0. Với mỗi lần trường hợp quan trọng xuất hiện, ta sẽ tăng biến đếm lên 1. Ví dụ như ở đây, tôi muốn xét dãy số từ 0 đến 20 có bao nhiêu số nguyên tố.

//cài đặt biến counter với giá trị là 0

int counter = 0;

int flag = 0;

//vòng lặp này để duyệt chuỗi số i từ 0 -> 20

int i = 0;

int j = 0;

while ( i <= 20 )

{

    //vòng lặp này để xét xem số i có phải là số nguyên tố hay không

    j = 2;

  //trả flag về giá trị 0 trước khi thực hiện vòng lặp

    flag = 0;

    while ( j < i )

    {

        if ((i % j) == 0)

        {

            flag = 1;

        }

        j = j + 1;

    }

    if (flag == 0)

    {

        //trong trường hợp đó là một số nguyên tố thì ta tăng biến đếm lên

        counter = counter + 1;

    }

    i = i + 1;

}

 3. Kỹ thuật tính chuổi dãy số liên tục

được sử dụng để xử lý các trường hợp cần tính lại giá trị của chính biến đó với giá trị cũ của nó. Ví dụ với chuỗi số S = 1 + 2 + 3 + .. + n

//tạo một biến để lưu giá trị

int s = 0;

while (i <= n)

{

s = s + i;

  i = i + 1;

}

 4. Kỹ thuật lưu biến tạm

Biến tạm là một kỹ thuật đơn giản dùng để lưu một giá trị của một biến khác trước khi nó bị thay đổi hoặc dùng để tính giá trị tạm thời cần được sử dụng ngay.

Ví dụ ta có biến a = 5 và biến b = 6. Ta cần hoán đổi sao cho a = 6 và b = 5. Nhưng khi a = b thì lúc đó cả a và b đều có giá trị là 6. Ta đã mất đi số 5 nên ta cần một biến tạm để lưu giá trị của a.

int a = 5;

int b = 6;

int temp = 0;

temp = a;

a = b;

b = temp;

 5. Kỹ thuật lưu trữ vị trí quan trọng

Phương thức này các bạn hay nhầm lẫn với việc lưu giữ giá trị quan trọng. Ví dụ trong một mảng có 10 phần tử:

 { 5, 1, 7, 9, 31, 12, 0, 8, 4, 11 }

Giá trị lớn nhất trong mảng là 31 nhưng vị trí của giá trị lớn nhất là 4.

//Giá trị n là số lượng phần tử của mảng, ví dụ như ở mảng phía trên, n có giá trị là 10

int n = 10;

 

int max = 0;

int i = 1;

while (i < n)

{

if (A[max] < A[i])

{

max = i;

}

  i = i + 1;

}

 Ngoài ra, nếu có nhiều vị trí quan trọng cần lưu giữ thì bạn có thể tạo thêm một mảng nữa và lưu vị trí các giá trị đó vào mảng đó. Ví dụ như ở đây, tôi có mảng A, tôi muốn lưu vị trí các phần tử là phần tử chẵn trong mảng Avào mảng B.

int A[10];

int B[10];

int counter = 0;

int i = 0;

while (i < 10)

{

if (A[i] % 2 == 0)

{

B[counter] = i;

counter = counter + 1;

}

i = i + 1;

}

 6. Kỹ thuật sắp xếp

Phương thức sắp xếp mảng đơn giản nhất đó là sử dụng giải thuật Interchange Sort. Giải thuật sử dụng 2 vòng lặp, với mỗi vòng lặp, lấy giá trị này xét với các giá trị khác trong mảng, nếu giá trị nào nhỏ hơn thì hoán đổi giá trị đó và giá trị đang xét. Ví dụ

int A[10];

int n = 10; //số lượng phần tử của mảng A

int i = 0;

int j = 0;

int temp = 0;

while (i < n)

{

j = i + 1;

while (j < n)

{

//nếu tìm được phần tử có giá trị nhở hơn giá trị

        //đang xét thì hoàn đổi nó với giá trị đang xét

if (A[j] < A[i])

{

//thực hiện thao tác hoán đổi

temp = A[i];

A[i] = A[j];

A[j] = temp;

}

j = j + 1;

}

  i = i + 1;

}

 (TRÊN ĐÂY LÀ NHỮNG KỸ THUẬT ĐƯỢC TÔI SỬ DỤNG ĐỂ GIẢI QUYẾT MỘT SỐ VẪN ĐỀ TRONG HỌC TẬP VÀ LÀM VIỆC RẤT HIỆU QUẢ)

 

Cách xóa ghi nhớ của trình duyệt

Cookie là một dạng bản ghi được tạo ra và lưu lại trên trình duyệt khi người dùng truy cập một website. Chúng là “bạn” nhưng cũng có thể là “thù” với người lướt web.

Để máy tính chạy trình duyệt web nhanh, bạn cần phải xóa cookie định kỳ trên máy tính. Trường hợp xóa cookie cũng được dùng khi người dùng ghi nhớ mật khẩu của nhiều trang web, làm rò rỉ thông tin cá nhân của người sử dụng.

Trình duyệt hỏi lưu thông tin Username và Password:

Khi người dùng đăng nhập vào một trang web trình duyệt sẽ hiện thị khung hỏi lưu đăng nhập.

- Đối với Cốc Cốc:

Trình duyệt hỏi ghi nhớ

- Đối với Firefox:

Firefox hỏi ghi nhớ đăng nhập

Nếu người dùng vô tình Click vào lưu ghi nhớ đăng nhập, trình duyệt web sẽ lưu lại thông tin username và password lại. Mỗi khi người dùng vào trang web đã được lưu thì thông tin username và password sẽ tự điền vào khung đăng nhập.

Cách xóa cookie:

Bạn chỉ cần bấm tổ hợp các phím: Ctrl + Shift + Delete

Ctrl + Shift + Delete

Hình minh họa

Khung xóa dữ liệu cookie của trình duyệt sẽ hiển thị.

- Đối với Cốc Cốc:

Xóa cookie cốc cốc

Lưu ý: Bạn cần chọn "Mọi thứ" để xóa toàn bộ cookie đã lưu và Check vào các ô như hình ở trên.

- Đối với Firefox:

 

Xóa cookie Firefox

Lưu ý: Bạn cần chọn "Mọi thứ" để xóa toàn bộ cookie đã lưu và Check vào các ô như hình ở trên.

*Cuối cùng bạn Cilck xóa để hoàn tất việc xóa cookie.

Bằng việc xóa cookie của bạn theo định kỳ sẽ làm giảm nguy cơ của việc lạm dụng thông tin vô tình hay cố ý lưu trữ trong cookie.

Chúng tôi khuyên bạn không nên chọn lưu đăng nhập nếu máy tính bạn đang dùng không phải máy tính cá nhân của bạn.