source: hadoop-register/check_activate_code.php @ 85

Last change on this file since 85 was 85, checked in by wade, 15 years ago
  • 2009-06-23 修正認證信連結會重複給予帳號密碼。
  • 2009-06-23 主機位址格式為 htt://位址,後面不必再加 /
File size: 2.2 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    // 如果已認證就不再寄認證信
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  $my_user->email = $row["email"];
33  // 分配一組 hadoop 帳號密碼給 user
34  $str = sprintf("SELECT `hadoop_user` , `hadoop_password`
35      FROM `%s`
36      WHERE `hadoop_owner` LIKE ''
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  // 更新 hadoop 帳號擁有者資料庫
43  $str = sprintf("UPDATE `%s` SET `hadoop_owner` = '%s'
44      WHERE `hadoop_user` LIKE '%s' limit 1", 
45      $mysql_table_owner, $receiver_user, $my_user->hadoop_user); 
46        mysql_query($str, $link) or die(mysql_error() );
47 
48  // 寄送 hadoop 帳號密碼信至使用者信箱
49  $my_user->operator = "hadoop_user_password";
50  include ("smtp_mail.php");
51
52  // 將使用者設為已認證
53  $str = sprintf("UPDATE `%s` SET `is_activate` = 1
54      WHERE `user` LIKE '%s' limit 1", $mysql_table, $receiver_user); 
55  mysql_query($str, $link) or die(mysql_error() );
56 
57  // 重新導向 localhost
58  $my_user->redirect_to("$w_localhost", "驗證成功"); 
59    }
60    // 沒有通過驗證
61    else 
62    {
63  // 重新導向 localhost
64  $my_user->redirect_to("$w_localhost", "驗證碼錯誤");
65    }
66
67    mysql_close($link);   
68?>
Note: See TracBrowser for help on using the repository browser.