3 // ステージごとに一つのテーブル"Stage_[StageName]"をもつ。
6 define("DATABASE_USER", "pcd2013devUser");
7 define("DATABASE_PWD", "MoonStone");
8 define("DATABASE_NAME", "pcd2013dev");
9 define("REGEX_SQL_QUERY_ESCAPE", "\\|\"|\'");
10 define("QUERY_SELECT_USER_ID", "SELECT id from AuthUserTable where name = ?;");
11 define("QUERY_SELECT_USER_ID_TYPES", "s");
12 define("QUERY_ADD_USER", "insert into AuthUserTable (name) values (?)");
13 define("QUERY_ADD_USER_TYPES", "s");
15 $db = new mysqli('localhost', DATABASE_USER, DATABASE_PWD, DATABASE_NAME);
16 if (mysqli_connect_error()) {
20 $db->set_charset("utf8");
22 if(isset($_GET['action']) && isset($_GET['name'])){
23 $action = $_GET['action'];
24 $name = urldecode($_GET['name']);
25 if(strcmp($action, 'join') == 0){
27 $stmt = $db->prepare(QUERY_SELECT_USER_ID);
28 $stmt->bind_param(QUERY_SELECT_USER_ID_TYPES, $name);
31 if($stmt->errno == 0){
33 $stmt->store_result();
34 if($stmt->num_rows == 0){
35 //ユーザー名はリストになかった=はじめてのひと
36 $stmt = $db->prepare(QUERY_ADD_USER);
37 $stmt->bind_param(QUERY_ADD_USER_TYPES, $name);
39 if($stmt->errno == 0){
41 $stmt = $db->prepare(QUERY_SELECT_USER_ID);
42 $stmt->bind_param(QUERY_SELECT_USER_ID_TYPES, $name);
44 if($stmt->errno == 0){
46 $stmt->store_result();
47 if($stmt->num_rows == 0){
48 //ユーザー名はリストになかった=そんな…登録したのに。あきらめてエラーを返す
52 $stmt->bind_result($id);
66 //すでにユーザー名がリストにある=続きからプレイ
67 $stmt->bind_result($id);
76 echo(ceil(microtime(true)*1000));