[php] sample registration and validation mysql
Viewer
- <?php
- // Database connection details
- $servername = "localhost";
- $username = "your_mysql_username";
- $password = "your_mysql_password";
- $dbname = "your_database_name";
- // Create connection
- $conn = new mysqli($servername, $username, $password, $dbname);
- // Check connection
- if ($conn->connect_error) {
- die("Connection failed: " . $conn->connect_error);
- }
- // SQL query to create the table
- $sql = "CREATE TABLE IF NOT EXISTS users (
- id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
- username VARCHAR(30) NOT NULL UNIQUE,
- name VARCHAR(50) NOT NULL,
- phone VARCHAR(20) NOT NULL,
- age INT(3) NOT NULL,
- email VARCHAR(50) NOT NULL UNIQUE,
- password VARCHAR(255) NOT NULL
- )";
- if ($conn->query($sql) === TRUE) {
- echo "Table 'users' created or already exists.<br>";
- } else {
- echo "Error creating table: " . $conn->error . "<br>";
- }
- // Registration form submission handling
- if ($_SERVER["REQUEST_METHOD"] == "POST") {
- $username = $_POST["username"];
- $name = $_POST["name"];
- $phone = $_POST["phone"];
- $age = $_POST["age"];
- $email = $_POST["email"];
- $password = $_POST["password"];
- $confirmPassword = $_POST["confirmPassword"];
- // Validate input data
- $errors = array();
- if (empty($username)) {
- $errors[] = "Username is required.";
- }
- if (empty($name)) {
- $errors[] = "Name is required.";
- }
- if (empty($phone)) {
- $errors[] = "Phone number is required.";
- }
- if (empty($age) || !is_numeric($age) || $age < 1 || $age > 120) {
- $errors[] = "Invalid age.";
- }
- if (empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)) {
- $errors[] = "Invalid email address.";
- }
- if (empty($password)) {
- $errors[] = "Password is required.";
- }
- if ($password != $confirmPassword) {
- $errors[] = "Passwords do not match.";
- }
- // If no errors, insert data into the database
- if (empty($errors)) {
- $hashedPassword = password_hash($password, PASSWORD_DEFAULT);
- $sql = "INSERT INTO users (username, name, phone, age, email, password)
- VALUES ('$username', '$name', '$phone', $age, '$email', '$hashedPassword')";
- if ($conn->query($sql) === TRUE) {
- echo "Registration successful!";
- } else {
- echo "Error: " . $sql . "<br>" . $conn->error;
- }
- } else {
- // Display validation errors
- echo "Registration failed:<br>";
- foreach ($errors as $error) {
- echo "- " . $error . "<br>";
- }
- }
- }
- $conn->close();
- ?>
- <!DOCTYPE html>
- <html>
- <head>
- <title>Registration Form</title>
- </head>
- <body>
- <h2>Registration Form</h2>
- <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
- Username: <input type="text" name="username" required><br><br>
- Name: <input type="text" name="name" required><br><br>
- Phone: <input type="text" name="phone" required><br><br>
- Age: <input type="number" name="age" required><br><br>
- Email: <input type="email" name="email" required><br><br>
- Password: <input type="password" name="password" required><br><br>
- Confirm Password: <input type="password" name="confirmPassword" required><br><br>
- <input type="submit" name="submit" value="Register">
- </form>
- </body>
- </html>
Editor
You can edit this paste and save as new: