Witam,
jestem aktualnie w kursie P. Mirosława "PHP 2". Odcinek został już przeze mnie przepracowany kilka razy w celu utrwalenia informacji. Po kilkudniowej przerwie od programowania postanowiłem sprawdzić swoją pamięć i wykonać identyczny skrypt, co w tym odcinku. W folderze htdocs stworzyłem oddzielny folder o nazwie "osadnicy2" (folder osadnicy zostawiłem w celu ewentualnego zaglądania do gotowego kodu, jakby coś mi się zapomniało). Napisałem cały skrypt i tu pojawia się problem. Po wpisaniu dobrych danych przy logowaniu (login: adam, hasło: qwerty) nie przekierowuje mnie do pliku "gra.php", tylko do "zaloguj.php" i nic się nie wyświetla. Jest "biała strona". Przeanalizowałem swój kod z tym gotowym i nie znalazłem problemu. Apache oraz Mysql oczywiście są w XAMPP'ie włączone. Ktoś wie w czym może być problem?
Kod index.php:
<?php
session_start();
?>
<!DOCTYPE HTML>
<html lang="pl">
<head>
<meta charset="utf-8" />
<title>Strona logowania</title>
</head>
<body>
<h1>Zaloguj się do gry</h1>
<form action="zaloguj.php" method="POST">
Login: <input type="text" name="login" /><br /><br />
Hasło: <input type="password" name="haslo" /><br /><br />
<input type="submit" value="Zaloguj się" />
</form>
<?php
if(isset($_SESSION['blad'])) echo $_SESSION['blad'];
?>
</body>
</html>
Kod zaloguj.php:
<?php
session_start();
require_once "connect.php";
$polaczenie = @new mysqli($host, $dblogin, $dbpassword, $dbname);
if($polaczenie->connect_errno!=0)
{
echo "Error: ".$polaczenie->connect_errno;
}
else
{
$login = $_POST['login'];
$haslo = $_POST['haslo'];
$sql = "SELECT * FROM uzytkownicy WHERE login='$login' AND pass='$haslo'";
if($zapytanie = @$polaczenie->query($sql))
{
$ile_userow = $zapytanie->num_rows;
if($ile_userow>0)
{
$wiersz = $zapytanie->fetch_assoc();
$_SESSION['user'] = $wiersz['user'];
$_SESSION['email'] = $wiersz['email'];
$_SESSION['drewno'] = $wiersz['drewno'];
$_SESSION['kamien'] = $wiersz['kamien'];
$_SESSION['zboze'] = $wiersz['zboze'];
$_SESSION['dnipremium'] = $wiersz['dnipremium'];
unset($_SESSION['blad']);
$zapytanie->close();
header('Location: gra.php');
}
else
{
$_SESSION['blad'] = '<span style="color: red;">Nieprawidłowa nazwa użytkownika lub hasło.</span>';
header('Location: index.php');
}
}
$polaczenie->close();
}
?>
Kod gra.php:
<?php
session_start();
?>
<!DOCTYPE HTML>
<html lang="pl">
<head>
<meta charset="utf-8" />
<title>Osadnicy - rozgrywka</title>
</head>
<body>
<?php
echo "<p>Witaj ".$_SESSION['user']."!";
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>