2015-07-18 2 views
0

привет, я хочу сделать страницу доступной только для зарегистрированных пользователей. Я искал это, но все результаты, которые я нашел, не были полезны. Поэтому мне нужно знать, где я должен добавлять коды. это мой login.php:сделать страницу доступной только при регистрации пользователей с помощью php

<?php 

session_start(); 
include_once 'dbconnect.php'; 

if(isset($_SESSION['user'])!="") 
{ 
    header("Location: home.php"); 
} 

if(isset($_POST['btn-login'])) 
{ 
    $email = mysql_real_escape_string($_POST['email']); 
    $upass = mysql_real_escape_string($_POST['pass']); 
    $res=mysql_query("SELECT * FROM users WHERE email='$email'"); 
    $row=mysql_fetch_array($res); 

    if($row['password']==md5($upass)) 
    { 
     $_SESSION['user'] = $row['user_id']; 
     header("Location: home.php"); 
    } 
    else 
    { 
     ?> 
     <script>alert('wrong details');</script> 
     <?php 
    } 

} 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>ورود</title> 
<link rel="stylesheet" href="style.css" type="text/css" /> 
</head> 
<body> 
<center> 
<div id="login-form"> 
<form method="post"> 
<table align="center" width="30%" border="0"> 
<tr> 
<td><input type="text" name="email" placeholder="Your Email" required /></td> 
</tr> 
<tr> 
<td><input type="password" name="pass" placeholder="Your Password" required /></td> 
</tr> 
<tr> 
<td><button type="submit" name="btn-login">ورود</button></td> 
</tr> 
<tr> 
<td><a href="register.php">ثبت نام</a></td> 
</tr> 
</table> 
</form> 
</div> 
</center> 
</body> 
</html> 

мне нужно поставить session_start(); на каждой странице у меня есть? если нет, где я должен это поставить? и где я должен поставить:

session_start(); 
if(!isset($_SESSION['id'])) { 
    header("location: index.php"); 
    die(); 
} 

tanq, если мне нужно, чтобы добавить больше деталей для вас, ребята, плз скажите мне.

+1

Этот код действительно уродлив. Взгляните на это руководство: http://stackoverflow.com/questions/549/the-definitive-guide-to-form-based-website-authentication – klenium

ответ

0

Я думаю, вам нужно сделать один общий заголовочный файл и поместить такие вещи, как session_start(); и ob_flush(); в этом файле и включить его на всех страницах. , чтобы вы могли получить к нему доступ в любом месте и не нужно переписывать код. Перепишите тот же код, что и плохая привычка