2013-07-30 2 views
1

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

Ниже мой журнал в сценарий

<?php 

session_start(); 
$host="localhost"; // Host name 
$db_username="root"; // Mysql username 
$db_password=""; // Mysql password 
$db_name="designshop"; // Database name 
$tbl_name="member"; // Table name 

// Connect to server and select databse. 
mysql_connect("$host", "$db_username", "$db_password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

// username and password sent from form 
$member_username=$_POST['member_username']; 
$password=$_POST['password']; 

// To protect MySQL injection (more detail about MySQL injection) 
$member_username = stripslashes($member_username); 
$password = stripslashes($password); 
$member_username = mysql_real_escape_string($member_username); 
$password = mysql_real_escape_string($password); 
$sql="SELECT * FROM $tbl_name WHERE member_username='$member_username' and password='$password'"; 
$result=mysql_query($sql); 

// Mysql_num_row is counting table row 
$count=mysql_num_rows($result); 

// If result matched $myusername and $mypassword, table row must be 1 row 
if($count==1){ 

// Register $myusername, $mypassword and redirect to file "login_success.php" 
$_SESSION['member_username']=$_POST['member_username']; 
$_SESSION['password']=$_POST['password']; 

header("location:login_success.php"); 
} 
else { 
header("location:try_again.html"); 
} 
?> 
+0

вы должны по крайней мере читать, как использовать сессию ? –

+1

еще одна вещь не сохраняет пароль в вашей сессии, его плохая практика –

+0

Ваш код уязвим для SQL-инъекций. Также используйте 'mysqli_ *' или 'PDO' вместо' mysql_ * ' – Konsole

ответ

0

Просто поместите это в верхней части под session_start() ...

if(!empty($_SESSION['member_username'])){header("location: login_success.php");} 

вот так ...

session_start(); 

if(!empty($_SESSION['member_username'])){ 
header("location: login_success.php");} 

$host="localhost"; // Host name 
$db_username="root"; // Mysql username 
$db_password=""; // Mysql password 
//REST OF CODE 
0

Все, что вам нужно сделать, это проверить существование (и непустоте) из $_SESSION['member_username']. Если он установлен, это означает, что ваш пользователь вошел в систему, и поэтому ему не нужно переучиваться.

Примечания:

  • Там нет необходимости хранить пароль пользователя в сессии: на самом деле, его не лучше.
  • Вы выполняете аутентификацию через MySQL, а это значит, что вы храните пароль в открытом виде: это плохая практика. Было бы лучше получить как username, так и password из базы данных, основанной только на username, и сделать comparaison в вашем PHP-коде: это позволит вам, например, хранить sha1 'd пароль.
0

стартовый код с session_start() и проверьте, установлен ли сеанс устанавливается, когда любой пользователь пытается получить доступ к странице, если сеанс установлен, а затем перенаправить на страницу, иначе перенаправить на страницу входа

вы можете проверить с помощью Исеть()

0

следовать этот код ...

<?php session_start(); 
    include('conn.php'); 
    $Name = $_POST['login_id']; 
    $Pass = $_POST['password']; 
    $select="select * from admin_login where admin_name='$Name' AND admin_pwd='$Pass'"; 
    $query=mysql_query($select) or die($select); 
    $rows=mysql_fetch_array($query); 
    $row=mysql_num_rows($query); 


    if($row != 0) 
    { 
     $_SESSION['admin_name']=$rows['admin_name']; 
     echo "<script>window.location.href='index.php'</script>"; 

    }else 
    { 
     $message = 'Invalid Username Or Password'; 
     echo '<script type="text/javascript">alert("'.$message.'")</script>'; 
     echo "<script>window.location.href='login.php'</script>"; 

    } 
    ?> 

поместить этот код в верхней части каждой страницы

<?php session_start(); 
if(isset($_SESSION["admin_name"])=='') print('<script>window.location.href="login.php"</script>'); 
+0

Зачем использовать php для эха

Смежные вопросы