Guest User

Untitled

a guest
Nov 22nd, 2018
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.96 KB | None | 0 0
  1. class Login extends React.Component {
  2.  
  3. constructor(props) {
  4. super(props);
  5. this.handleSubmit = this.handleSubmit.bind(this);
  6. }
  7.  
  8. handleSubmit(event) {
  9. event.preventDefault();
  10. const data = new FormData(event.target);
  11.  
  12. const email = data.get('email');
  13. const password = data.get('password');
  14.  
  15. fetch('http://localhost:3000/authentication', {
  16. method: 'POST',
  17. headers: {
  18. "Content-Type": "application/json"
  19. },
  20. body: JSON.stringify({
  21. "email": email,
  22. "password": password
  23. }),
  24. }).then(function (response) {
  25. if (response.ok) {
  26. alert("Login Successful!");
  27. } else {
  28. console.log("Failed");
  29. }
  30. });
  31. console.log("Email: " + email);
  32. console.log("pwd: " + password);
  33. }
  34.  
  35. render() {
  36. return (
  37. <form className="col s12 m12 l12" onSubmit={this.handleSubmit}>
  38. <div className="row">
  39. <div className="col s12 center-align">
  40. <img className="logo" src="images/bibdata-center.png" alt="BibData Logo"/>
  41. </div>
  42. <div className="input-field col s12">
  43. <i className="material-icons prefix">email</i>
  44. <input id="email" name="email" type="email" className="validate" onChange={this.handleEmailChange}/>
  45. <label htmlFor="email">Email</label>
  46. </div>
  47. </div>
  48. <div className="row">
  49. <div className="input-field col s12">
  50. <i className="material-icons prefix">lock</i>
  51. <input id="password" name="password" type="password" className="validate" onChange={this.handlePasswordChange}/>
  52. <label htmlFor="password">Password</label>
  53. </div>
  54. </div>
  55. <div className="row">
  56. <div className="col s12 m6 l6 center-align">
  57. <button className="btn waves-effect btn-large waves-light" type="submit" value="Submit" name="action">Sign in
  58. <i className="material-icons right">send</i>
  59. </button>
  60. </div>
  61. <div className="col s12 m6 l6 center-align">
  62. <button className="btn waves-effect btn-large waves-light blue" type="submit" name="action"
  63. onClick={() => renderReactComponent(newUser, 'root')}>
  64. Register
  65. </button>
  66. </div>
  67. </div>
  68. <div className="row">
  69. <div className="col s12 center-align">
  70. <a href="#" onClick={() => renderReactComponent(forgotPassword, 'root')}>
  71. <span className="helper-text grey-text text-darken-1"
  72. data-error="wrong" data-success="right">
  73. Forgot password?
  74. </span>
  75. </a>
  76. </div>
  77. </div>
  78. </form>
  79. );
  80. }
  81. }
  82.  
  83. const createError = require('http-errors');
  84. const express = require('express');
  85. const path = require('path');
  86. const mysql = require('mysql');
  87. const cookieParser = require('cookie-parser');
  88. const logger = require('morgan');
  89.  
  90. const indexRouter = require('./routes/index');
  91. const loginRouter = require('./routes/login');
  92. const adminRouter = require('./routes/admin');
  93. const usersRouter = require('./routes/users');
  94.  
  95. const app = express();
  96. const port = process.env.PORT || 5000;
  97.  
  98. // Create a connection to database
  99. const connection = mysql.createConnection({
  100. host: 'localhost',
  101. user: 'root',
  102. password: '',
  103. database: 'test'
  104. });
  105. global.connection = connection;
  106.  
  107. // view engine setup
  108. app.set('views', path.join(__dirname, 'views'));
  109. app.set('view engine', 'jade');
  110.  
  111. app.use(logger('dev'));
  112. app.use(express.json());
  113. app.use(express.urlencoded({ extended: false }));
  114.  
  115. app.use('/', indexRouter);
  116. app.use('/login', loginRouter);
  117. app.use('/users', usersRouter);
  118. app.use('/admin', adminRouter);
  119.  
  120. app.post('/authentication', function (req, res) {
  121. let email = req.body.email;
  122. let password = req.body.password;
  123.  
  124. console.log(email);
  125. console.log(password);
  126.  
  127. connection.query('SELECT email, password FROM user WHERE email = ? AND password = ?',[email, password], function (error, results) {
  128. if (error) {
  129. return res.status(400).send(error);
  130. }
  131. if (results.length > 0) {
  132. return res.send({ error: false, data: results, message: 'ok'})
  133. } else {
  134. return res.status(400).send(error);
  135. }
  136. });
  137. });
  138.  
  139. app.post('/newuser', function (req, res) {
  140. let user = {
  141. "first_name":req.body.first_name,
  142. "last_name":req.body.last_name,
  143. "email":req.body.email,
  144. "password":req.body.password,
  145. "address": req.body.address,
  146. "phone": req.body.phone
  147. };
  148. connection.query('INSERT INTO user SET ?',user, function (error, results) {
  149. if (error) {
  150. console.log("Error: ", error);
  151. return res.status(400).send(error);
  152. } else {
  153. return res.send({ error: false, data: results, message: 'user registered successfully'})
  154. }
  155. });
  156. });
  157.  
  158. // Retrieve books from database
  159. app.get('/getbooks', function (req, res) {
  160. connection.query('SELECT * FROM book', function (error, rows) {
  161. if (error) {
  162. console.log("Error: ", error);
  163. return res.status(400).send(error);
  164. } else {
  165. return res.send(rows);
  166. }
  167. })
  168. });
  169.  
  170. // catch 404 and forward to error handler
  171. app.use(function(req, res, next) {
  172. next(createError(404));
  173. });
  174.  
  175. // error handler
  176. app.use(function(err, req, res, next) {
  177. // set locals, only providing error in development
  178. res.locals.message = err.message;
  179. res.locals.error = req.app.get('env') === 'development' ? err : {};
  180.  
  181. // render the error page
  182. res.status(err.status || 500);
  183. res.render('error');
  184. });
  185.  
  186. app.listen(port, () => console.log(`Listening on port ${port}`));
  187.  
  188. module.exports = app;
Add Comment
Please, Sign In to add comment