Witam mam pewien problem , mianowicie kod rejestruje mi użytkownika pojawia się w bazie danych. Podczas logowania wyświetla jego imię z bazy. Ale po udanym logowaniu gdy chce puścić użytkownika dalej z jego zapisanym id to sie gubi gdzieś.. i wywala mnie na stronę logowania , tak jak w kodzie. Chce po udanym logowaniu przejść do storny /xxx.php
a w niej przycisk do /xxx.php
ale by uzytkownik mia swoje id ciagle bo nagle trafia na formularz ktory musi wypelnic ze swoim id. Jeśli źle tłumacze wybaczcie :D a więc tak
tak mam plik register.php login.php db.php . Połączenie z baza jest ponieważ podczas rejestracji widze użytkowników , ale gdy chce z pliku login.php przekierować na inny zachowując sesje to nie moge. Dziękuje za pomoc
register.php
<?php
include 'db.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$login = $_POST['login'];
$password = password_hash($_POST['password'], PASSWORD_DEFAULT);
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$sql = "INSERT INTO users (login, password, firstname, lastname) VALUES (?, ?, ?, ?)";
try {
$stmt = $pdo->prepare($sql);
$stmt->execute([$login, $password, $firstname, $lastname]);
echo "Rejestracja przebiegła pomyślnie.";
} catch (PDOException $e) {
echo "Błąd podczas rejestracji: " . $e->getMessage();
}
}
?>
<form method="post">
Login: <input type="text" name="login" required><br>
Hasło: <input type="password" name="password" required><br>
Imię: <input type="text" name="firstname" required><br>
Nazwisko: <input type="text" name="lastname" required><br>
<input type="submit" value="Zarejestruj się">
</form>
login.php
<?php
include 'db.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$login = $_POST['login'];
$password = $_POST['password'];
/ie
$sql = "SELECT * FROM users WHERE login = ?";
$stmt = $pdo->prepare($sql);
$stmt->execute([$login]);
$user = $stmt->fetch();
if ($user && password_verify($password, $user['password'])) {
echo "Logowanie pomyślne. Witaj, " . $user['firstname'] . "!";
} else {
echo "Błędny login lub hasło.";
}
}
?>
<form method="post">
Login: <input type="text" name="login" required><br>
Hasło: <input type="password" name="password" required><br>
<input type="submit" value="Zaloguj się">
</form>
db.php
<?php
$host = 'mysql8';
$db_name = '';
$db_user = '';
$db_password = '';
try {
$pdo = new PDO("mysql:host=$host;dbname=$db_name", $db_user, $db_password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
die("Nie można połączyć z bazą danych: " . $e->getMessage());
}
?>