Guest User

Untitled

a guest
Feb 13th, 2019
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.30 KB | None | 0 0
  1. <form **action="route"**></form>
  2.  
  3. <form onsubmit="meu método no cliente"></form>
  4.  
  5. <form class="col-md-12" onsubmit="registerSubmit(this)" method="GET" style="height: 100vh; width:100vw;padding: 10vh 20vw; background-color: rgb(40,40,40)">
  6. <div class="row">
  7. <div class="col-md-12">
  8. <div style="font-size: 10vh;color:white;text-align: left;padding: 5vh 0vw;font-family: 'Major Mono Display', monospace;">Registo:</div>
  9. </div>
  10. </div>
  11. <div class="row" style="padding: 2vh 2vw">
  12. <div class="col-md-2 text-left badge badge-info" style="font-size: 1em">Nome:</div>
  13. <div class="offset-md-1"></div>
  14. <input class="col-md-2" type="text" name="nome" required pattern="[A-Za-z]+" maxlength="25">
  15. <div class="offset-md-1"></div>
  16. <div class="col-md-2 text-left badge badge-info " style="font-size: 1em">Apelido:</div>
  17. <div class="offset-md-1"></div>
  18. <input class="col-md-3" type="text" name="apelido" required pattern="[A-Za-z]+" maxlength="25">
  19. </div>
  20. <div class="row" style="padding: 2vh 2vw">
  21. <div class="col-md-2 text-left badge badge-info" style="font-size: 1em">Email:</div>
  22. <div class="offset-md-1"></div>
  23. <input class="col-md-9" type="email" name="email" required >
  24. </div>
  25. <div class="row" style="padding: 2vh 2vw">
  26. <div class="col-md-2 text-left badge badge-info" style="font-size: 1em">Username:</div>
  27. <div class="offset-md-1"></div>
  28. <input class="col-md-9" type="text" name="user" required pattern="^[a-zA-Z][a-zA-Z0-9-_.]{1,20}$" maxlength="25">
  29. </div>
  30. <div class="row" style="padding: 2vh 2vw">
  31. <div class="col-md-2 text-left badge badge-info" style="font-size: 1em">Password:</div>
  32. <div class="offset-md-1"></div>
  33. <input class="col-md-9" type="password" name="password" required pattern="^(?=.*d)(?=.*[a-z])(?=.*[A-Z])(?!.*s).*$" minlength="4" maxlength="20">
  34. </div>
  35. <div class="row" style="padding: 2vh 2vw">
  36. <div class="col-md-3 text-center btn btn-danger">Cancelar</div>
  37. <div class="offset-md-1"></div>
  38. <div class="col-md-3 text-center btn btn-warning text-white">Repor</div>
  39. <div class="offset-md-1"></div>
  40. <input class="col-md-4 text-center btn btn-success" type="submit" value="Registar">
  41. </div>
  42. </form>
  43.  
  44. function registerSubmit(form){
  45. geturl('http://127.0.0.1:1337/register.html?nome=' + form.nome + '&apelido=' + form.apelido
  46. + '&email=' + form.email + '&password=' + form.password + '&user=' + form.user, function(res){
  47. if (res.responseText === 'user')
  48. window.alert('username already exists');
  49. else if (res.responseText === 'email')
  50. window.alert('email already exists');
  51. else
  52. // Eu quero exibir o ficheiro HTML
  53. })
  54. }
  55.  
  56. function geturl(url, callback){
  57. var xmlHttp = new XMLHttpRequest();
  58. xmlHttp.onreadystatechange = function() {
  59. if (xmlHttp.readyState == 4 && xmlHttp.status == 200){
  60. callback(xmlHttp.responseText);
  61. return ;
  62. }
  63. }
  64. xmlHttp.open('GET', url, true);
  65. xmlHttp.send();
  66. return xmlHttp.responseText;
  67. }
  68.  
  69. app.get('/register_submit', function(req, res) {
  70. var url_parts = url.parse(req.url, true);
  71. var query = url_parts.query;
  72. req.nome = query.nome;
  73. req.apelido = query.apelido;
  74. req.user = query.user;
  75. req.password = query.password;
  76. req.email = query.email;
  77. register_module.register_submit(req, res);
  78.  
  79. /*
  80. res.writeHead(200, {'Content-Type': 'text/html'});
  81. fs.readFile('../register.html', function(err, content){
  82. if (err)
  83. console.log('ERROR read file');
  84. res.write(content);
  85. res.end();
  86. }); */
  87. });
  88.  
  89. let mysql = require('mysql');
  90.  
  91.  
  92.  
  93. exports.register_submit = function (req, res){
  94. let connection = mysql.createConnection({
  95. host: 'localhost',
  96. user: 'root',
  97. password: '**********',
  98. database: 'website_personal_trainer'
  99. });
  100.  
  101. connection.connect(function(err) {
  102. if (err) {
  103. return console.error('error: ' + err.message);
  104. }
  105.  
  106. console.log('Connected to the MySQL server.');
  107.  
  108.  
  109. });
  110.  
  111. connection.query('select * from register_data', function(err, result, fields){
  112. if (err)
  113. throw err;
  114.  
  115. if (check_already_exist_register(result, req)){
  116. res.end('email');
  117. } else {
  118. connection.query('INSERT INTO register_data (first_name, last_name, email, password, username) VALUES (' + req.nome + ',' + req.apelido + ',' + req.email + ',' + req.password + ',' + req.user + ')',
  119. function (err, result, fields) {
  120. if (err)
  121. throw err;
  122. else
  123. res.end(alert("register sucessful"));
  124. })
  125. }
  126. });
  127.  
  128. connection.end(function(err) {
  129. if (err) {
  130. return console.log('error:' + err.message);
  131. }
  132. console.log('Close the database connection.');
  133. });
  134. }
  135.  
  136. function check_already_exist_register(result, req){
  137. for (var i in result)
  138. if (req.user == result[i].username || req.email == result[i].email)
  139. return true;
  140. return false;
  141. }
Add Comment
Please, Sign In to add comment