diff --git a/Config.txt b/Config.txt index 6569ad9..a1d8fb8 100644 --- a/Config.txt +++ b/Config.txt @@ -4,3 +4,7 @@ = Database.php = 10101 - SQL request did not give a result + += register.php = +11101 - User name doesn't match rules +11102 - User name already exists //TODO \ No newline at end of file diff --git a/Database.php b/Database.php index 5219a8e..1903295 100644 --- a/Database.php +++ b/Database.php @@ -32,8 +32,31 @@ class Database $this->create_response($data, $error); } - function create_response($data, $error = null){ - //TODO + function create_response($data, $error) { + $status_message = create_status_code($error); + $meta = jscon_encode(array('status'=>$error, 'message'=>$status_message)); + $response_element_json = json_encode(array('meta'=>$meta, 'data'=>$data)); + echo $response_element_json; + } + + function create_status_code($error) { + switch ($error) { + case 0: + return 'Success'; + break; + case 10101: + return 'SQL statement did not give a result.'; + break; + case 11101: + return 'User name does not match rules. User name must be 6 to 20 characters and consist of English + letters and numbers only.'; + break; + case 11102: + return 'User name already exists. Please pick a different name.'; + break; + default: + return 'An unknown error occurred.'; + } } } diff --git a/config.inc.php b/config.inc.php index 4b6f812..455211a 100644 --- a/config.inc.php +++ b/config.inc.php @@ -6,10 +6,10 @@ * Time: 09:45 */ -define("DATABASE_URL", 'lamp.wlan.hwr-berlin.de'); -define("DATABASE_USER", 'gr2'); -define("DATABASE_PASSWORD", '2Au-R2n-cQN-uuG'); -define("DATABASE_NAME", 'CSDB'); +define('DATABASE_URL', 'lamp.wlan.hwr-berlin.de'); +define('DATABASE_USER', 'gr2'); +define('DATABASE_PASSWORD', '2Au-R2n-cQN-uuG'); +define('DATABASE_NAME', 'CSDB'); // TODO ?> \ No newline at end of file diff --git a/register.php b/register.php index 8b9eeda..a9d5ec3 100644 --- a/register.php +++ b/register.php @@ -7,13 +7,19 @@ */ require_once('includes.inc.php'); + define('PATTERN', '^[a-zA-Z0-9 ]{6,20}$'); + $data = null; + $error = 0; $name = $_GET['name']; - $id = md5(uniqid(rand(), true)); + $uid = md5(uniqid(rand(), true)); $database = new Database(); - $database->query('INSERT INTO "Users" ("name", "ID") VALUES ($1, $2);', array($name, $id)); //TODO unique string - - //echo json_encode(array('id'=>$id, 'name'=>$name)); - echo "Hello World"; + $database->query('INSERT INTO "Users" ("name", "ID") VALUES ($1, $2);', array($name, $uid)); //TODO unique string + if(preg_match(PATTERN, $name) != 1) { + $error = 11101; + } else { + $data = json_encode(array('uid'=>$id, 'name'=>$name)); + } + $database->create_response($data, $error); ?> \ No newline at end of file