/test/subjects/benchmarks/RUBiS/RegisterUser.php

https://github.com/pbiggar/phc · PHP · 135 lines · 118 code · 14 blank · 3 comment · 27 complexity · 017c9b1a32d567d65571132f20f3ec6f MD5 · raw file

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <body>
  4. <?php
  5. $scriptName = "RegisterUser.php";
  6. include("PHPprinter.php");
  7. $startTime = getMicroTime();
  8. $firstname = $HTTP_POST_VARS['firstname'];
  9. if ($firstname == null)
  10. {
  11. $firstname = $HTTP_GET_VARS['firstname'];
  12. if ($firstname == null)
  13. {
  14. printError($scriptName, $startTime, "Register user", "You must provide a first name!<br>");
  15. exit();
  16. }
  17. }
  18. $lastname = $HTTP_POST_VARS['lastname'];
  19. if ($lastname == null)
  20. {
  21. $lastname = $HTTP_GET_VARS['lastname'];
  22. if ($lastname == null)
  23. {
  24. printError($scriptName, $startTime, "Register user", "You must provide a last name!<br>");
  25. exit();
  26. }
  27. }
  28. $nickname = $HTTP_POST_VARS['nickname'];
  29. if ($nickname == null)
  30. {
  31. $nickname = $HTTP_GET_VARS['nickname'];
  32. if ($nickname == null)
  33. {
  34. printError($scriptName, $startTime, "Register user", "You must provide a nick name!<br>");
  35. exit();
  36. }
  37. }
  38. $email = $HTTP_POST_VARS['email'];
  39. if ($email == null)
  40. {
  41. $email = $HTTP_GET_VARS['email'];
  42. if ($email == null)
  43. {
  44. printError($scriptName, $startTime, "Register user", "You must provide an email address!<br>");
  45. exit();
  46. }
  47. }
  48. $password = $HTTP_POST_VARS['password'];
  49. if ($password == null)
  50. {
  51. $password = $HTTP_GET_VARS['password'];
  52. if ($password == null)
  53. {
  54. printError($scriptName, $startTime, "Register user", "You must provide a password!<br>");
  55. exit();
  56. }
  57. }
  58. $region = $HTTP_POST_VARS['region'];
  59. if ($region == null)
  60. {
  61. $region = $HTTP_GET_VARS['region'];
  62. if ($region == null)
  63. {
  64. printError($scriptName, $startTime, "Register user", "You must provide a region!<br>");
  65. exit();
  66. }
  67. }
  68. getDatabaseLink($link);
  69. begin($link);
  70. // Check if the region really exists
  71. $regionResult = mysql_query("SELECT * FROM regions WHERE name=\"$region\"", $link) or die("ERROR: Region query failed");
  72. if (mysql_num_rows($regionResult) == 0)
  73. {
  74. printError($scriptName, $startTime, "Register user", "Region $region does not exist in the database!<br>\n");
  75. mysql_free_result($regionResult);
  76. commit($link);
  77. exit();
  78. }
  79. else
  80. {
  81. $regionRow = mysql_fetch_array($regionResult);
  82. $regionId = $regionRow["id"];
  83. commit($link);
  84. mysql_free_result($regionResult);
  85. }
  86. // Check if the nick name already exists
  87. $nicknameResult = mysql_query("SELECT * FROM users WHERE nickname=\"$nickname\"", $link) or die("ERROR: Nickname query failed");
  88. if (mysql_num_rows($nicknameResult) > 0)
  89. {
  90. printError($scriptName, $startTime, "Register user", "The nickname you have choosen is already taken by someone else. Please choose a new nickname.<br>\n");
  91. mysql_free_result($nicknameResult);
  92. exit();
  93. }
  94. mysql_free_result($nicknameResult);
  95. // Add user to database
  96. $now = date("Y:m:d H:i:s");
  97. $result = mysql_query("INSERT INTO users VALUES (NULL, \"$firstname\", \"$lastname\", \"$nickname\", \"$password\", \"$email\", 0, 0, '$now', $regionId)", $link) or die("ERROR: Failed to insert new user in database.");
  98. $result = mysql_query("SELECT * FROM users WHERE nickname=\"$nickname\"", $link) or die("ERROR: Query user failed");
  99. $row = mysql_fetch_array($result);
  100. commit($link);
  101. printHTMLheader("RUBiS: Welcome to $nickname");
  102. print("<h2>Your registration has been processed successfully</h2><br>\n");
  103. print("<h3>Welcome $nickname</h3>\n");
  104. print("RUBiS has stored the following information about you:<br>\n");
  105. print("First Name : ".$row["firstname"]."<br>\n");
  106. print("Last Name : ".$row["lastname"]."<br>\n");
  107. print("Nick Name : ".$row["nickname"]."<br>\n");
  108. print("Email : ".$row["email"]."<br>\n");
  109. print("Password : ".$row["password"]."<br>\n");
  110. print("Region : $region<br>\n");
  111. print("<br>The following information has been automatically generated by RUBiS:<br>\n");
  112. print("User id :".$row["id"]."<br>\n");
  113. print("Creation date :".$row["creation_date"]."<br>\n");
  114. print("Rating :".$row["rating"]."<br>\n");
  115. print("Balance :".$row["balance"]."<br>\n");
  116. mysql_free_result($result);
  117. mysql_close($link);
  118. printHTMLfooter($scriptName, $startTime);
  119. ?>
  120. </body>
  121. </html>