Klepię sobie jakiś prosty system logowania do projektu zaliczeniowego.
Rozwiązałem to tak, że wysyłam po prostu 'POSTEM' dane z formularza reactowego do skryptu php, który - jeżeli użytkownik istnieje w bazie i zgadza się hasło - ustawia $_SESSION['username'] na podany przez użytkownika username.
W drugim skrypcie, chcę wyświetlić dane informacje specyficzne dla tego zalogowanego użytkownika, więc chcę uzyskać w nim dostęp do $_SESSION['username'] z tym, że w tym skrypcie ta zmienna jest już pusta. Nie wiem o co biega.
Logowanie:
<?php
session_start();
include "db_conn.php";
header("Access-Control-Allow-Origin: *");
if($_SERVER['REQUEST_METHOD'] === 'POST')
{
$response = array('loggedIn' => false, 'message' => '');
if($conn)
{
$username = $_POST['username'];
$password = $_POST['password'];
$query = "SELECT * FROM users WHERE username='${username}' AND password='${password}'";
$result = pg_query($conn, $query);
if(pg_num_rows($result) === 1)
{
$user = pg_fetch_assoc($result);
$_SESSION['username'] = $user['username'];
$_SESSION['user_id'] = $user['user_id'];
$response['loggedIn'] = true;
$response['message'] = 'Logged in';
}
else
$response['message'] = 'Username or password is incorrect';
}
else
$response['message'] = 'Cannot connect to database';
echo(json_encode($response));
}
?>
Ten drugi skrypt:
<?php
session_start();
include "db_conn.php";
header("Access-Control-Allow-Origin: *");
$query = "SELECT * FROM available_cars WHERE username='${$_SESSION['username']}'";
$results = pg_query($conn, $query);
$cars_data = pg_fetch_all($results);
?>