После нажатия submit
меня перенаправляют на Home.js
без проблем, но никакая информация не отправляется в БД.
Однако, если я избавлюсь от перенаправления, тогда данные будут отправлены на БД без проблем, но это не перенаправит меня на Home.js
.Вместо этого он перенаправляет меня на demo.php
Цель : Как я могу успешно перенаправить на Home.js
(которым я сейчас являюсь) и одновременно отправлять данные в БД?
Что я делаю не так и как я могу это исправить?
Вот Login.js
:
import React, { Component } from 'react';
import Home from "./Home";
class Login extends Component {
constructor(props) {
super(props);
this.state = {
redirect: false
};
this.nextPage = this.nextPage.bind(this);
}
nextPage(e) {
e.preventDefault();
this.setState({redirect: true});
}
render() {
const go = this.state.redirect;
if(go) return <Home/>;
return (
<div>
<form action="http://localhost/demo_react/api/demo.php" onSubmit={(e) => this.nextPage(e)} method={"POST"} encType="multipart/form-data">
<div className="form-group">
<label htmlFor="username">Email</label>
<input className="form-control" type="text" name="username"/>
</div>
<div className="form-group">
<label htmlFor="password">Password</label>
<input className="form-control" type="password" name="password"/>
</div>
<button className="btn btn-primary" value="Login" name={"submit"}>Submit</button>
</form>
</div>
);
}
}
export default Login;
Вот demo.php
:
$connection = mysqli_connect("localhost", "root", "", "loginapp");
$username = $_POST['username'];
$password = $_POST['password'];
if(isset($_POST['submit'])) {
$query = "INSERT INTO users(username, password) ";
$query .= " VALUES('$username', '$password')";
$result = mysqli_query($connection, $query);
if (!$result) {
die("Query failed" . mysqli_error($connection));
} else {
echo "Data send successfully to SQL";
}
}