source: hadoop-register/check_activate_code.php

Last change on this file was 109, checked in by jazz, 15 years ago
  • 由於欄位預設值為 NULL 故改以 IS NULL 作為判斷式
File size: 2.4 KB
Line 
1<?
2   /*
3    * 驗證使用者身份及信箱是否正確
4    */
5
6   require_once ("./etc/init.php");
7   include_once ("./etc/funs.php");
8
9   $receiver_user = $_GET["user"];
10   $receiver_act = $_GET["act"];
11
12   // 連結資料庫
13   $link = mysql_connect($mysql_host, $mysql_user, $mysql_password) or die(mysql_error() );
14   mysql_select_db($mysql_database, $link) or die(mysql_error() );
15   mysql_query("SET NAMES 'utf8'");
16
17   // 抓取使用者認證碼
18   $str = sprintf("SELECT `activate_code`, `is_activate`, `email` FROM `%s` WHERE `user` LIKE '%s' limit 1", $mysql_table, $receiver_user);
19   $result = mysql_query($str , $link);
20   $row = mysql_fetch_assoc($result);
21
22   $my_user = new W_user;
23
24   // 如果已認證就不再寄認證信及發給 hadoop 帳號
25   if ($row["is_activate"] == 1)
26   {
27      $my_user->redirect_to("$w_localhost", "你已經通過驗證"); 
28   }
29   // 如果通過驗證
30   else if ( ($row["activate_code"] == $receiver_act) &&  ($receiver_act != null) )
31   {
32      // 分配一組 hadoop 帳號密碼給 user
33      $my_user->email = $row["email"];
34      $str = sprintf("SELECT `hadoop_user` , `hadoop_password`
35          FROM `%s`
36          WHERE `hadoop_owner` IS NULL
37          LIMIT 1 ",$mysql_table_owner );
38      $result = mysql_query($str, $link) or die(mysql_error() );
39      $row = mysql_fetch_assoc($result);
40      $my_user->hadoop_user = $row["hadoop_user"];
41      $my_user->hadoop_password = $row["hadoop_password"];
42      $my_user->reg_date = $my_user->get_current_date();
43
44      // 更新 hadoop 帳號擁有者資料庫
45      $str = sprintf("UPDATE `%s` SET `hadoop_owner` = '%s', `reg_date` = '%s'
46          WHERE `hadoop_user` LIKE '%s' limit 1", 
47          $mysql_table_owner, $receiver_user, $my_user->reg_date ,$my_user->hadoop_user);
48      mysql_query($str, $link) or die(mysql_error() );
49 
50      // 寄送 hadoop 帳號密碼信至使用者信箱
51      $my_user->operator = "hadoop_user_password";
52      include ("smtp_mail.php");
53
54      // 將使用者設為已認證
55      $str = sprintf("UPDATE `%s` SET `is_activate` = 1
56          WHERE `user` LIKE '%s' limit 1", $mysql_table, $receiver_user); 
57      mysql_query($str, $link) or die(mysql_error() );
58 
59      // 重新導向 localhost
60      $my_user->redirect_to("$w_localhost", "驗證成功"); 
61   }
62   // 沒有通過驗證
63   else 
64   {
65      // 重新導向 localhost
66      $my_user->redirect_to("$w_localhost", "驗證碼錯誤");
67   }
68
69   mysql_close($link); 
70?>
Note: See TracBrowser for help on using the repository browser.