HEX
Server: Apache/2.4.46 (Ubuntu)
System: Linux localhost 5.11.0-49-generic #55-Ubuntu SMP Wed Jan 12 17:36:34 UTC 2022 x86_64
User: root (0)
PHP: 7.4.16
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/lab-portal/login.php
<?php
session_start();
header("Content-Type: application/json");

// Get JSON input from fetch()
$input = json_decode(file_get_contents("php://input"), true);

$email = $input["email"] ?? "";
$password = $input["password"] ?? "";

// Validate
if (empty($email) || empty($password)) {
    echo json_encode([
        "success" => false,
        "message" => "Email and password required."
    ]);
    exit;
}

// ==== CURL API CALL ====
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'http://localhost/messagify/public/api/login',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => array(
        'Accept: application/json',
        'Content-Type: application/json'
    ),
    CURLOPT_POSTFIELDS => json_encode([
        "email" => $email,
        "password" => $password
    ])
));

$response = curl_exec($curl);
curl_close($curl);

// Convert API response into array
$data = json_decode($response, true);

// Check API success status
if (isset($data["success"]) && $data["success"] === true) {

    // Save important values in session
    $_SESSION["auth_token"] = $data["data"]["auth_token"];
    $_SESSION["user"] = $data["data"];

    echo json_encode([
        "success" => true,
        "message" => $data["message"],
        "redirect" => "dashboard.php"
    ]);
} 
else {
    echo json_encode([
        "success" => false,
        "message" => $data["message"] ?? "Invalid login credentials"
    ]);
}