Register.cs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using System.Text.RegularExpressions;
  5. using UnityEngine.UI;
  6. using UnityEngine.Networking;
  7. public class Register : MonoBehaviour {
  8. public GameObject username;
  9. public GameObject password;
  10. public GameObject email;
  11. public Text errorText;
  12. public Button registerButton;
  13. private string Username;
  14. private string Password;
  15. private string Email;
  16. private string form;
  17. private string registerUserUrl = "http://nordh.xyz/narKampen/dbFiles/Register.php?";
  18. // Start is called before the first frame update
  19. void Start() {
  20. registerButton.onClick.AddListener(RegisterAction);
  21. }
  22. // Update is called once per frame
  23. void Update() {
  24. Username = username.GetComponent<InputField>().text;
  25. Password = password.GetComponent<InputField>().text;
  26. Email = email.GetComponent<InputField>().text;
  27. }
  28. void RegisterAction() {
  29. string errorMessage = "";
  30. if (Username == "") {
  31. errorMessage = "Username is obligatory";
  32. }
  33. if (Password == "") {
  34. if (errorMessage != "") {
  35. errorMessage += "\n";
  36. }
  37. errorMessage += "Password is obligatory";
  38. }
  39. if (Email == "") {
  40. if (errorMessage != "") {
  41. errorMessage += "\n";
  42. }
  43. errorMessage += "Email is obligatory";
  44. }
  45. Color errorColor = errorText.color;
  46. if (errorMessage != "") {
  47. errorText.text = errorMessage;
  48. errorColor.a = 1;
  49. } else {
  50. errorColor.a = 0;
  51. StartCoroutine(RegisterUser());
  52. }
  53. errorText.color = errorColor;
  54. }
  55. IEnumerator RegisterUser() {
  56. // register user at server, check for already in use for username and email.
  57. // TODO - hash+salt password
  58. string postUrl = registerUserUrl + "name=" + UnityWebRequest.EscapeURL(Username) + "&password=" + UnityWebRequest.EscapeURL(Password) + "&email=" + UnityWebRequest.EscapeURL(Email);
  59. UnityWebRequest www = UnityWebRequest.Get(postUrl);
  60. yield return www;
  61. if (www.error != null) {
  62. errorText.text = "There was an error registering this user, try again later";
  63. }
  64. }
  65. }