09/10/2018, 23:02

Bác nào biết làm cái random chỉ giúp với!

chào mọi người!
Làm ơn cho mình hỏi cách tạo cái random (mấy chữ số loằng ngoằng)như ở mấy trang đăng ký mail thì làm như nào nhỉ, làm sao mà các chữ đó có thể khác khau giữa các lần truy cập mà mình vẫn lấy được số liệu đó để so sánh với những số người sử dụng nhập vào?Thanks a lots!
scripter viết 01:12 ngày 10/10/2018
Dễ ợt, này nhé:
PHP Code:
<?php
// lấy hàm time()
$str_time time();
// md5 nó, 
$str md5($str_time);
// dùng hàm substr để lấy số ký tự nếu mún
?>
Hay ý của bạn là khác?
kid08 viết 01:17 ngày 10/10/2018
dùng hàm rand() á bạn, vào php.net coi, chứ cái của scripter là md5 1 hàm time thui mừ đâu có random
scripter viết 01:10 ngày 10/10/2018
Quote Được gửi bởi kid08
dùng hàm rand() á bạn, vào php.net coi, chứ cái của scripter là md5 1 hàm time thui mừ đâu có random
Hehehe nếu 32 ký tự đó trả về mà có khi nào trùng nhau thì chặt... tay scripter nhé , không random là gì?
cactus_vn viết 01:10 ngày 10/10/2018
Các bác nói khó hiểu quá, đành rằng lấy hàm time thì sẽ được các số khác nhau, nhưng làm sao mà thể hiện nó dưới dạng loằng ngoằng được, chẳng nhẽ cứ viết trơ ra đấy thôi à?
scripter viết 01:03 ngày 10/10/2018
ối dzời, muốn loằng ngoằng thì... "băm" nó ra, tức là md5() nó ra í =.=
cactus_vn viết 01:05 ngày 10/10/2018
Bạn hãy nhập mã bảo vệ*: 1e2fd6429fa88d07354d5aaf20f136d0
mình làm thử nó ra như thế đấy bạn ạ, đâu có giống mấy cái random đâu!
amida viết 01:16 ngày 10/10/2018
Ặc, làm loằng ngoằng thì dùng GD á Sau đó random từng hình ra thôi
PHP Code:
 <?
 function random($image)
 {
 $rand_img = array();
 $rand_img***91;0***93; = "img 1";
 $rand_img***91;1***93; = "img 2";
 $rand_img***91;2***93; = "img 3";
 $rand_img***91;3***93; = "img 4";
 $rand_img***91;4***93; = "img 5"; // mệt quá, muốn bao nhiêu thì thêm bao nhiêu
 
 $rand_num = rand(0,5);
 $rand_img = $rand_img***91;$rand_num***93;;
 
 return $image = "<img src='".$rand_img."'>";
 }
 
 print random($image);
 print random($image);
 print random($image); // Muốn mấy hình thì mấy lần in

 ?>
Sozzi, tui ngu lập trình lắm nhưng test thấy ok thì cám ơn, kô đc đừng la Mai mốt tui hết dám học lập trình.

Mà ý của bác scripter hay ấy ạ. Đúng là nhiều cái suy nghĩ logic thật, có 3 dòng code thôi mà cũng hữu dụng, đâu phải phải img loằng ngoằng mới hay, ng` ta nhìn kô ra mấtcông chửi :|
cactus_vn viết 01:04 ngày 10/10/2018
Cảm ơn amidan nhé, mình thấy mấy cái hình nó "loằng ngoằng" và thay đổi rồi nhưng vẫn chưa biết cách làm sao để biết khi nào nó ra hình gì để mình còn so sánh với giá trị nhập vào của người sử dụng? Thông cảm nhé, mới vọc web mà!
amida viết 01:16 ngày 10/10/2018
À, bác thử gán giá trị cho từng thằng sau đó check = if xem sao

Tôi mới code thử, coi đc kô. Ai giúp tôi sửa nhé
ran.php
PHP Code:
 <?
 function random($rand_img)
 {
 $rand_img = array();
 $rand_img***91;0***93; = "1";
 $rand_img***91;1***93; = "2";
 $rand_img***91;2***93; = "3";
 $rand_img***91;3***93; = "4";
 $rand_img***91;4***93; = "5"; // m?t quá, mu?n bao nhiêu thì thêm bao nhiêu
 
 $rand_num = rand(0,5);
 $rand_img = $rand_img***91;$rand_num***93;;
 
 return $rand_img;
 }
 
 print random($image);

 echo "<br>";
 echo "<br>";
 echo "<br>";
 
 print "<form action='do.php' method='POST'>
       <input type='text' size='20' name='fill' value=''>
         <input type='submit' name='go'>
      </form>";

 ?>
do.php
PHP Code:
<?php
 
function check()
{

 global 
$image;
 if(
$_POST***91;"fill"***93; == $image)
 {
 echo 
"Login succeed";
 }
 else
{
 echo 
"Fail";
 }
 return 
true;
 }

 print 
check();
?>
Tui thắc mắc là sao qua trang do.php nó kô in kết quả ra
Bài liên quan
0