Create Project
C:\react-js>npx create-react-app myreactdev
Run
C:\react-js\myreactdev> npm start
Install React Router Dom
https://www.npmjs.com/package/react-router-dom
C:\react-js\myreactdev>npm i react-router-dom --save
Install Axios
https://www.npmjs.com/package/axios
C:\react-js\myreactdev>npm install axios --save
C:\react-js\myreactdev\src\App.js
//react-js\myreactdev\src\App.js import { useState } from 'react'; import axios from 'axios'; import './App.css'; function App() { const [name,setName] = useState(''); const [mobile,setMobile] = useState(''); const [email,setEmail] = useState(''); const handleSubmit = () => { if(name.length === 0){ alert("Name has left Blank!"); } else if(mobile.length === 0){ alert("Mobile has left Blank!"); } else if(email.length === 0){ alert("Email has left Blank!"); } else{ const url = 'http://localhost/test/formsubmit.php'; let fData = new FormData(); fData.append('name', name); fData.append('mobile', mobile); fData.append('email', email); axios.post(url, fData).then(response=> alert(response.data)).catch(error=> alert(error)); } } return ( <div className="vh-100 gradient-custom"> <div className="mask d-flex align-items-center h-100 gradient-custom-3"> <div className="container h-100"> <div className="row d-flex justify-content-center align-items-center h-100"> <div className="col-12 col-md-9 col-lg-7 col-xl-6"> <div className="card"> <div className="card-body p-5"> <h3 className="text-center mb-5">React JS Submit Form with php mysql</h3> <form> <div className="form-outline mb-4"> <label className="form-label" for="name">Your Name</label> <input type="text" className="form-control form-control-lg" name="name" id="name" value={name} onChange={(e) => setName(e.target.value)} /> </div> <div className="form-outline mb-4"> <label className="form-label" for="mobile">Your Mobile</label> <input type="text" className="form-control form-control-lg" name="mobile" id="mobile" value={mobile} onChange={(e) => setMobile(e.target.value)} /> </div> <div className="form-outline mb-4"> <label className="form-label" for="email">Your Email</label> <input type="email" className="form-control form-control-lg" name="email" id="email" value={email} onChange={(e) => setEmail(e.target.value)} /> </div> <div className="form-check d-flex justify-content-center mb-5"> <input className="form-check-input me-2" type="checkbox" value="" id="form2Example3cg" /> <label className="form-check-label" for="form2Example3g"> I agree all statements in <a href="#!" className="text-body"><u>Terms of service</u></a> </label> </div> <div className="d-flex justify-content-center"> <input type="button" className="btn btn-success btn-block btn-lg gradient-custom-4 text-body" name="submit" id="submit" value="Register" onClick={handleSubmit} /> </div> <p className="text-center text-muted mt-5 mb-0">Have already an account? <a href="#!" className="fw-bold text-body"><u>Login here</u></a></p> </form> </div> </div> </div> </div> </div> </div> </div> ); } export default App;react-js\myreactdev\src\App.css
//react-js\myreactdev\src\App.css .card { border-radius: 15px; } .gradient-custom { background: linear-gradient(to bottom right, rgba(240, 147, 251, 1), rgba(245, 87, 108, 1)); }Bootstrap 5
https://getbootstrap.com/docs/5.0/getting-started/introduction/
CREATE TABLE `reactusers` (
`id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`mobile` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
http://localhost/test/formsubmit.php
//http://localhost/test/formsubmit.php <?php header('Access-Control-Allow-Origin: *'); $conn = new mysqli("localhost","root","","projectdb"); if(mysqli_connect_error()){ echo mysqli_connect_error(); exit(); } else{ $name = $_POST['name']; $mobile = $_POST['mobile']; $email = $_POST['email']; $sql = "INSERT INTO reactusers(name,mobile,email) VALUES('$name','$mobile','$email');"; $res = mysqli_query($conn, $sql); if($res){ echo "Success!"; } else{ echo "Error!"; } $conn->close(); } ?>Run C:\react-j\myreactdev>npm start