Skip to content

BVaduva/Local-Formular

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Table of Contents

Prerequisites

  • Install WSL2
  • Install Ubuntu
  • Install Docker Desktop
  • optional for DDEV:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;
iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/ddev/ddev/master/scripts/install_ddev_wsl2_docker_desktop.ps1'))

HTML formula for sending user data to server DB

  • Simple Login-Form
    <main>
        <div class="container">
            <h1>Login Form</h1>
            <div class="row" id="formFields">
                <form method="POST" action="insert.php">
                    <div class="form-group">
                        <label for="userField">Username</label>
                        <input type="text" name="user" class="form-control" id="userField" aria-describedby="emailHelp"
                            placeholder="Enter username" required>
                    </div>
                    <div class="form-group">
                        <label for="emailField">Email address</label>
                        <input type="email" name="email" class="form-control" id="emailField"
                            aria-describedby="emailHelp" placeholder="Enter email" required>
                        <small id="emailHelp" class="form-text text-muted">We'll never share your email with
                            anyone!</small>
                    </div>
                    <div class="form-group">
                        <label for="passwordField">Password</label>
                        <input type="password" name="password" class="form-control" id="passwordField"
                            placeholder="Password" required>
                    </div>
                    <button type="submit" class="btn btn-primary" id="submitButton">Submit</button>
                </form>
            </div>
        </div>
    </main>

Pasted image 20240716103342


SQL Query

<?php
// Received data from formular
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $name = $_POST['user'];
    $email = $_POST['email'];
    $user_password = $_POST['password'];

    // MySQL database credentials
    $servername = "db"; // Use the service name defined in docker-compose
    $username = "root";
    $password = "secret";
    $dbname = "db";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);

    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    // Prepare and bind
    $stmt = $conn->prepare("INSERT INTO users (name, email, password) VALUES (?, ?, ?)");
    $stmt->bind_param("sss", $name, $email, $user_password);

    // Execute the statement
    if ($stmt->execute()) {
        echo "New record created successfully";
    } else {
        echo "Error: " . $stmt->error;
    }

    $stmt->close();
    $conn->close();
}
?>

Database

  • DB management with VS Code extension
    • Get "MySQL" extension
      • create a connection to the Database

Note

(Maybe) temporary management of DB

Pasted image 20240716103555

Port has to be the one Mapped to (ports: - "3100:3306" in docker-compose.yml) Password has to be the one in docker-compose.yml under MYSQL_ROOT_PASSWORD:


Docker Containers

  • Containers for local formula and db server handling

Pasted image 20240716103751


optional - save DB locally

  • docker-compose.yml section to store locally:
 db:
#... other settings
    volumes:
	  - db_data:/var/lib/mysql # Mirror local folder and docker to make db_data persistent.
volumes:
  db_data: # Volume to store data

About

Local formular website I worked for ~4 months during my internship at rms.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors