Witam
Mam takie trochę skomplikowańsze logowanie i gdzieś mi się najprawdopodobniej zapętla tylko nie wiem gdzie. W skrócie opiszę jak to wszytko funkcjonuje (a raczej ma funkcjonować).
System ten słada się z 7 skryptów w tym 2 są pomocnicze.
conn.inc.php służy do połączenia z bazą danych MySQL i zamieszczam go przed każdą stroną która wymaga takiego połączenia. Wygląda on tak:
<?php
$conn = mysql_connect("localhost", "root", "vertrigo")
or die(mysql_error());
$db = mysql_select_db("urlopy")
or die(mysql_error());
?>
auth_admin.inc.php służy do sprawdzenia czy użytkownik jest zalogowany i tak samo zamieszczam go przed każdą chronioną stroną.
<?php
if((isset($_SESSION['admin_logged']) &&
$_SESSION['admin_logged']) != "" ||
(isset($_SESSION['admin_password']) &&
$_SESSION['admin_password'] != ""))
{
// Nic nie rób !
} else {
$redirect = $_SERVER['PHP_SELF'];
header("Refresh: 5; URL=admin_login.php?redirect=$redirect");
echo "Nie jestes zalogowany. Dokonujemy przekierowania..." .
"Cierpliwosci!<br>";
echo "(Jesli przegladarka nie obsługuje przekierowań." .
"<a href=\"admin_login.php?redirect=$redirect\">kliknij tutaj</a>";
die();
}
?>
Następnie jest admin_login.php i tam już są formulaże zapytania i wszystkie potrzebne żeczy do tego żeby użytkownik się mógł zalogować.
<?php
session_start();
include "conn.inc.php";
if (isset($_POST['submit'])) {
$query = "SELECT user_name, password FROM administrator" .
"WHERE user_name = '" . $POST['user_name'] . "' " .
"AND password = (password('" . $_POST['password'] . "'))";
$result = mysql_query($query)
or die(mysql_error());
$row = mysql_fetch_array($result);
if (mysql_num_rows($result) == 1) {
$_SESSION['admin_logged'] = $_POST['user_name'];
$_SESSION['admin_password'] = $_POST['password'];
$_SESSION['admin_level'] = $row['admin_level'];
header ("Refresh: 5; URL=" . $_POST['redirect'] . "");
echo "Zostajesz przekierowany na oryginalna stronę, której żadałes!<br>";
echo "(Jesli przegladarka nie obsługuje przekierowań. " .
"<a href=\"" . $_POST['redirect']. "\">kliknij tutaj</a>)";
} else {
?>
<HTML>
<HEAD>
<TITLE>The Frost Zone</TITLE>
</HEAD>
<p>
Panel administracyjny</p><BR><BR> </h2>
<center>
<p>
Niepoprawna nazwa użytkownika lub hasło.<br>
<form action="admin_login.php" method="post">
<input type="hidden" name="redirect" value="<?php echo $_POST['redirect']; ?>">
<table>
<tr>
<td> Nazwa użytkownika:
</td>
<td><input type="text" name="user_name">
</td>
</tr>
<tr>
<td>Hasło:
</td>
<td><input type="password" name="password">
</td>
</tr>
<input type="submit" neme="submit" value="Zaloguj">
</form>
</tr>
</table>
</BODY>
</HTML>
<?php
}
} else {
if (isset($_GET['redirect'])) {
$redirect = $_GET['redirect'];
} else {
$redirect = "index.php";
}
?>
<HTML>
<HEAD>
<TITLE>The Frost Zone</TITLE>
</HEAD>
<p>
Panel administracyjny</p>
<center>
<p>
Zaloguj się podając nazwę użytkownika i hasło...<br>
<form action="admin_login.php" method="post">
<input type="hidden" name="redirect" value="<?php echo $_POST['redirect']; ?>">
<table>
<tr>
<td> Nazwa użytkownika:
</td>
<td><input type="text" name="user_name">
</td>
</tr>
<tr>
<td>Hasło:
</td>
<td><input type="password" name="password">
</td>
</tr>
<input type="submit" neme="submit" value="Zaloguj">
</form>
</tr>
</table>
</td>
</BODY>
</HTML>
<?php
}
?>
Teraz plik index.php. Tam jest sprawdzanie czy użytkownik jest zalogowany... jeżeli tak to przechodzi do następnej strony o nazwie logged_admin.php skąd może wejść do panelu administracyjnego (admin_area.php). Wygląda ona tak:
<html>
<head>
<title>Zarzadzanie urlopami</title>
<body>
<h2>Panel administracyjny !</h2>
<p>
Jestes zalogowany. <br>
<a href="admin_area.php">Kliknij tutaj</a>. aby
uzyskać dostęp do narzędzi administracyjnych.
</p>
</body>
</head>
A jeżeli nie jest zalogowany to następuje przekierowanie do strony unloged_admin.php skąd może tylko przejść spowrotem do logowania (czyli do admin_login.php).
<HTML>
<HEAD>
<TITLE>The Frost Zone</TITLE>
</HEAD>
<p>
Panel administracyjny</p>
<center>
<h2>Panel administrcyjny</h2>
<p>
Nie jestes zalogowany.<br>
Gdy się zalogujesz. Uzyskasz dostęp do narzędzi administracyjnych.<br>
<a href= "admin_login.php">Kliknij tutaj</a>. Aby się zalogować.
</p>
</td>
</tr>
</table>
</td>
</BODY>
</HTML>
Problem mam z tym że gdy próbuję się zalogować to nic się nie dzieje. Pyta cały czas o hasło i login. Niby hasło i login są prawidłowe ale jest tak jakby się w którymś miejscu zapętliło. Próbowałem już wszystkiego żeby to jakoś naprawić ale bez skutków więc prosił bym o pomoc jeżeli jest to możliwę.