![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 11.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Jestem nowym użytkownikiem forum a zarazem i raczkującym w PHP. Chciałbym stworzyć na swojej stronce rejestrację i logowanie użytkowników tak aby mieli dostęp do swoich opcji. Rejestrację z trudem ale mam już z głowy. Problem natomist mam wielki z logowaniem. Znalazłem w takiej "mądrej" książce skrypt do logowania oparty na bazie danycch MySQL. Wygląda to tak. Plik login.php Kod <?php session_start(); if (isset($_POST["submit"])) { $login = $_POST["login"]; $passwd = $_POST["passwd"]; $auth = false; $pwdb = mysql_connect("localhost", "user_do_bazy", "password"); mysql_select_db("baza", $pwdb); $rows = mysql_query("SELECT login, passwd FROM baza", $pwdb); while ($row = mysql_fetch_array($rows)) { if ($login == $row["login"] && $passwd == $row["passwd"]) { $auth = true; break; } } if ($auth) { $_SESSION["username"] = $login; if (isset($_GET["url"])) { $url = $_GET["url"]; } else { $url = "panel.php"; } if (!isset($_COOKIE[session_name()])) { if (strstr($url, "?")) { header("Location: " . $url . "&" . session_name() . "=" . session_id()); } else { header("Location: " . $url . "?" . session_name() . "=" . session_id()); } } else { header("Location: " . $url); } } } ?> <html> <head> <title>Uwierzytelnianie użytkowników</title> </head> <body> <form method="post"> <input type="text" name="login" /> <input type="password" name="passwd" /> <input type="submit" name="submit" value="Login" /> </form> </body> </html> No i po poprawnym zalogowaniu się przechodzi mi do pliku panel.php, który wygląda tak: Kod <html> <head> </head> <body> <? session_start(); if (!isset($_SESSION["username"])) { header("Location: /protected3/login.php?url=" . urlencode($_SERVER["SCRIPT_NAME"])); } else { echo "<B>Nazwa istniejacej sesji:</B> ".$_SESSION["username"]; echo " <A href=\"logout.php?\"" . SID . "\">"; echo "[Wyloguj]</A><BR>"; echo "<B>Twoj login:</B> ".$_GET['login']; echo "<B>Twoje haslo:</B> ".$_GET['passwd']; } ?> </body> </html> No i problem jest taki że kiedy już po zalogowaniu się przechodzi mi do pliku panel.php nie mam tam dostępu do zmiennych $login oraz &passwd tzn po wpisaniu żeby wyświetlił login i hasło widzę coś takiego: Kod Notice: Undefined index: login in /usr/account/ftp/scoute/panel.php on line 19 Notice: Undefined index: passwd in /usr/account/ftp/scoute/panel.php on line 20 [\code] Co ciekwae kiedy wpiszę: [code] echo $_SESSION["username"]; pokazuje mi nazwę sesji więc uważam że jakieś tam dane przekazuje do panel.php. nie przekazuje jednak loginu i hasla. <B>W czym zatem tkwi problem. Co jest nie tak w tym skrypcie ?</B> |
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 10:45 |