login.php
<html> <? include 'header.php'; include 'connect.php'; ?> <div id="container"> <? // sprawdzamy czy user nie jest przypadkiem zalogowany if(!$_SESSION['logged']) { // jeśli zostanie naciśnięty przycisk "Zaloguj" // filtrujemy dane... $_POST['name'] = clear($_POST['name']); $_POST['password'] = clear($_POST['password']); // i kodujemy hasło $_POST['password'] = codepass($_POST['password']); // sprawdzamy prostym zapytaniem sql czy podane dane są prawidłowe $result = mysql_query("SELECT `user_id` FROM `users` WHERE `user_name` = '{$_POST['name']}' AND `user_password` = '{$_POST['password']}' LIMIT 1"); // jeśli tak to ustawiamy sesje "logged" na true oraz do sesji "user_id" wstawiamy id usera $_SESSION['logged'] = true; $_SESSION['id'] = $row['user_id']; echo '<p>Zostałeś poprawnie zalogowany! Możesz teraz przejść na <a href="index.php">stronę główną</a>.</p>'; } else { } } // wyświetlamy komunikat na zalogowanie się echo '<div id="log"> <form method="post" action="login.php"> <p> Login:<br> <input type="text" name="name"> </p> <p> Hasło:<br> <input type="password" name="password"> </p> <p> <input type="submit" value="Zaloguj"> </p> </form> </div>'; } else { echo '<p>Jesteś już zalogowany, więc nie możesz się zalogować ponownie.</p> <p>[<a href="index.php">Powrót</a>]</p>'; } ?> </div> </body> </html>
connect.php
<?php function clear($text) { // jeśli serwer automatycznie dodaje slashe to je usuwamy } $text = mysql_real_escape_string($text); // filtrujemy tekst aby zabezpieczyć się przed sql injection return $text; } function codepass($password) { // kodujemy hasło (losowe znaki można zmienić lub całkowicie usunąć } // funkcja na sprawdzanie czy user jest zalogowany, jeśli nie to wyświetlamy komunikat function check_login() { if(!$_SESSION['logged']) { <p>[<a href="login.php">Logowanie</a>] [<a href="register.php">Zarejestruj się</a>]</p>'); } } // funkcja na pobranie danych usera function get_user_data($user_id = -1) { // jeśli nie podamy id usera to podstawiamy id aktualnie zalogowanego if($user_id == -1) { $user_id = $_SESSION['user_id']; } return false; } } // jeśli nie ma jeszcze sesji "logged" i "user_id" to wypełniamy je domyślnymi danymi $_SESSION['logged'] = false; $_SESSION['user_id'] = -1; } ?>
index.php
<html> <? include 'header.php'; include 'connect.php'; ?> <div id="container"> <? check_login(); ?> asda </div> </body> </html>
i header.php
<head> <meta charset="utf-8"> <title>Heheszkii</title> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <div id="header"> <div id="logo"> </div> <div id="menu"> <a href="front.php">Front</a> <a href="fresh.php">Fresh</a> <a href="random.php">Random</a> <a href="submit.php">Submit</a> </div> <div id="usermenu"> <? if ($_SESSION['logged'] = true) { echo'<div id="logged"><a href="logout.php">Logout</a> <a href="profile.php">Profile</a></div>'; } else { echo '<div id="notlogged"><a href="login.php">Login</a> <a href="register.php">Register</a>'; } ?> </div> </div>