Witam, opierając się na kursie PHP, stworzyłem działający system logowania do strony. Problem polega na tym, że używając funkcji $_session, wyciągam dane z tabeliA (uzytkownicy) dla konkretnego usera (jeden wiersz), a chciałbym wyświetlić na stronie gra.php wszystkie rekordy z tabeliA lub/oraz tabeliB znajdującej się w tej samej bazie danych.
Docelowo chciałbym stworzyć stronę, na której można dodawać/edytować/wyświetlać rekordy z bazy danych, a dostęp do której będzie chroniony hasłem.
kod zaloguj.php
<?php session_start(); if ((!isset($_POST['login'])) || (!isset($_POST['haslo']))) { header('Location: index.php'); exit(); } require_once "connect.php"; $polaczenie = @new mysqli($host, $db_user, $db_password, $db_name); if ($polaczenie->connect_errno!=0) { echo "Error: ".$polaczenie->connect_errno; } else { $login = $_POST['login']; $haslo = $_POST['haslo']; $login = htmlentities($login, ENT_QUOTES, "UTF-8"); if ($rezultat = @$polaczenie->query( sprintf("SELECT * FROM uzytkownicy WHERE user='%s'", mysqli_real_escape_string($polaczenie,$login)))) { $ilu_userow = $rezultat->num_rows; if($ilu_userow>0) { $wiersz = $rezultat->fetch_assoc(); if(password_verify($haslo,$wiersz['pass'])) { $_SESSION['zalogowany'] = true; $_SESSION['id'] = $wiersz['id']; $_SESSION['user'] = $wiersz['user']; $_SESSION['drewno'] = $wiersz['drewno']; $_SESSION['kamien'] = $wiersz['kamien']; $_SESSION['zboze'] = $wiersz['zboze']; $_SESSION['email'] = $wiersz['email']; $_SESSION['dnipremium'] = $wiersz['dnipremium']; unset($_SESSION['blad']); $rezultat->free_result(); header('Location: gra.php'); } else { $_SESSION['blad'] = '<span style="color:red">Nieprawidłowy login lub hasło!</span>'; header('Location: index.php'); } } else { $_SESSION['blad'] = '<span style="color:red">Nieprawidłowy login lub hasło!</span>'; header('Location: index.php'); } } $polaczenie->close(); } ?>
kod strony gra.php
<?php session_start(); if (!isset($_SESSION['zalogowany'])) { header('Location: index.php'); exit(); } ?> <!DOCTYPE HTML> <html lang="pl"> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <title>Osadnicy - gra przeglądarkowa</title> </head> <body> <?php echo "<p>Witaj ".$_SESSION['user'].'! [ <a href="logout.php">Wyloguj się!</a> ]</p>'; echo "<p><b>Drewno</b>: ".$_SESSION['drewno']; echo " | <b>Kamień</b>: ".$_SESSION['kamien']; echo " | <b>Zboże</b>: ".$_SESSION['zboze']."</p>"; echo "<p><b>E-mail</b>: ".$_SESSION['email']; echo "<br /><b>Dni premium</b>: ".$_SESSION['dnipremium']."</p>"; ?> </body> </html>
wszelkie próby wpisywania tego typu zapytań:
$rezultat = @$polaczenie->query("SELECT * FROM uzytkownicy'"),
kończą się błędem.
Może powinienem użyć jakiejś innej funkcji? Tylko jakiej?