Obecnie pracuję nad małym projektem dla strony logowania/rejestracji, a teraz chcę dodać stronę, która jest dostępna tylko po zalogowaniu. Pytanie brzmi: jak utworzyć sesję lub plik cookie i je odzyskać? I jak zablokować niezalogowanych użytkowników.Jak ustawić stronę dostępną tylko po zalogowaniu?
obecnie używam te kody dla login.php i member_area.php: login.php:
<?php
session_start();
if(isSet($_POST['login'])) {
include('db.php');
$username = mysql_real_escape_string($_POST['username']);
$password = sha1($_POST['password']);
$query = mysql_query("SELECT * FROM tab WHERE username='".addSlashes($username)."' AND password='".addSlashes($password)."'");
$res = mysql_num_rows($query);
if ($res == 1) {
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
$_SESSION['userobj'] = mysql_fetch_assoc($query);
header('Location: http://localhost/member_area.php');
exit;
} else {
echo 'Data does not match <br /> RE-Enter Username and Password';
}
} else {
?>
<html>
<head><link rel="stylesheet" type="text/css" href="css.css"></head>
<body>
<div id="div1">
<a href="index.php" id="home">Home</a>
<a href="Login.php" id="login2">Login</a>
<a href="register.php" id="register">Register</a>
</div>
<table width="200" border="0" cellspacing="1" align="center">
<form id="form1" method="post" action="login.php">
<tr>
<td colspan="2"><h2>Members login</h2></td>
</tr>
<tr>
<td>Username: </td>
<td>
<input type="text" name="username" id="username"/>
</td>
</tr>
<tr>
<td>Password: </td>
<td><input type="password" name="password" id="password"/> </td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="login" id="login" value="login" />
</td>
</tr>
</form>
</table>
</body>
</html>
<?php
}
?>
Member_area.php:
<?php
?>
<html>
<head><link rel="stylesheet" type="text/css" href="css.css"></head>
<body>
<div id="div1">
<a href="index.php" id="home">Home</a>
<a href="Login.php" id="login2">Login</a>
<a href="register.php" id="register">Register</a>
</div>
<form action="/Log_out.php" method="get">
<input type="submit" name="submit" value="Log Out." action="http://localhost/Log_out.php" id="Logout">
</form>
</body>
</html>
<?php
?>
Należy pamiętać, że jestem całkowicie nowy w PHP, więc kilka wskazówek, gdzie umieścić kod z, jeśli to możliwe, trochę wyjaśnienia.
Proszę wyjaśnić -1 –
Cóż to jest rodzaj pracy, ale nawet gdybym zalogować się na stronie logowania nastąpi przekierowanie mnie do strony. czy to możliwe, że muszę rozpocząć sesję na stronie logowania? czy jest możliwe, że sesja zostanie zniszczona? EDYCJA: Sesja nie została uruchomiona, naprawiono. –
Edytowałem kod try teraz, dodano 'session_start();' na górze –