2016-05-04 11 views
1

現在、私の友人が開始したログイン/ダッシュボードで開発しようとしています。私はセッションで苦労しています。私は、ユーザーがログインしていないときにしたいと、彼らはそれが、彼らはあなたが私が何を意味するか知っていれば、ログインする必要がありそうlogin.phpにリダイレクトされます、/dashboard.php訪問しよう:PHPでセッションをログインフォームで使用する方法

login.php

<?php 
session_start(); 
isset($_SESSION['id']); 

if (!empty($_SERVER['HTTP_CLIENT_IP'])) { 
     $IP = $_SERVER['HTTP_CLIENT_IP']; 
    } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { 
     $IP = $_SERVER['HTTP_X_FORWARDED_FOR']; 
    } else { 
     $IP = $_SERVER['REMOTE_ADDR']; 
    } 

function Register() 
{ 
    $con = mysqli_connect("localhost","root","","gtaauth"); 
if(!empty($_POST['Key']) AND !empty($_POST['Username'])) //checking the 'user' name which is from Sign-In.php, is it empty or have some text 
{ 
    $errors=""; 
    $query="SELECT `Key` FROM `Keys` WHERE `Key`= '".mysqli_real_escape_string($con,$_POST['Key'])."'"; 
    $result = mysqli_query($con,$query); 
    $row = mysqli_fetch_array($result); 
    if($row['Key']) 
    { 
     $query="SELECT `Activated` FROM `Keys` WHERE `Key`= '".mysqli_real_escape_string($con,$_POST['Key'])."'"; 
     $result = mysqli_query($con,$query); 
     $row = mysqli_fetch_array($result); 
     if($row['Activated']){ 
     $errors= "This key has already been activated. You cannot create an account with this key."; 

     } 

    } 
    else{ 
     $errors= "Key not found. Please contact us for assistance!"; 
    } 
    if($errors){ 
     echo $errors; 
    }else{ 
     //ip insert update 
      $query="UPDATE `Keys` SET `IP` = '$IP', `Activated` = '1', `Username` = '".mysqli_real_escape_string($con,$_POST['Username'])."' WHERE `Key`= '".mysqli_real_escape_string($con,$_POST['Key'])."'"; 

      $result = mysqli_query($con,$query); 

      if($result){ 
       $query="UPDATE `Keys` SET `Timestamp` = NOW(), `IP` = '$IP', `DATE` = NOW() WHERE `Keys`= '".mysqli_real_escape_string($con,$_POST['Key'])."'"; 
       $result=mysqli_query($con,$query); 
      }else{ 
       $errors.="Could not sign up. Please contact us for assistance."; 
      } 
     //email check 
      $query = "SELECT*FROM `Users` WHERE email='".mysqli_real_escape_string($con,$_POST['Email'])."'"; 
      $result = mysqli_query($con,$query); 
      $results = mysqli_num_rows($result); 
      if($results>0){ 
       $errors.="The email provided is already registered. </br>"; 
      } 
     //username check 
      $query = "SELECT*FROM `Users` WHERE username='".mysqli_real_escape_string($con,$_POST['Username'])."'"; 
      $result = mysqli_query($con,$query); 
      $results = mysqli_num_rows($result); 
      if($results>0){ 
       $errors.= "The username provided is already registered. </nr>"; 
      } 

      if($errors){ 
       echo $errors; 
      }else{ 
       $query = "INSERT INTO `Users` (`username`,`name`,`email`, `password`) VALUES ('".mysqli_real_escape_string($con, $_POST['Username'])."','".mysqli_real_escape_string($con, $_POST['Name'])."','".mysqli_real_escape_string($con, $_POST['Email'])."', '".md5(md5($_POST['Email']).$_POST['password'])."')"; 
       $result = mysqli_query($con,$query); 
       if($result){ 
            echo '<script type="text/javascript"> window.onload = function() { alert("Registration and activation was successful."); } </script>'; 

        }else{ 
         echo '<script type="text/javascript"> window.onload = function() { alert("An error occurred. Please contact us for assistance."); } </script>'; 
         // echo"Error Please contact me or jelly (skype: mathiis95)"; 
        } 
       } 
     } 
    } 
} 

function SignIn(){ 

     $con = mysqli_connect("localhost","root","","gtaauth"); 

     $query = "SELECT `email` FROM `Users` WHERE `username`='".mysqli_real_escape_string($con,$_POST['Username'])."'"; 
     $result=mysqli_query($con,$query); 
     $row = mysqli_fetch_array($result); 

     if($row['email']){ 
      $query = "SELECT * FROM `Users` WHERE `username`= '".mysqli_real_escape_string($con,$_POST['Username'])."' AND `password`= '".md5(md5($row['email']).$_POST['password'])."'";  
      $result=mysqli_query($con,$query); 
      $row = mysqli_fetch_array($result); 

      $query1 = "SELECT * FROM `Keys` WHERE `Username`= '".mysqli_real_escape_string($con,$_POST['Username'])."'";  
      $result1=mysqli_query($con,$query1); 
      $row1 = mysqli_fetch_array($result1); 

      if($row){  
       if(!empty($row['password']) AND !empty($row['username'])) 
       { 
        $_SESSION['id'] = $row['id']; 
        $_SESSION['isstaff']=$row['isStaff']; 
        $_SESSION['username']=$row['username']; 
        $_SESSION['email']=$row['email']; 
        $_SESSION['key']=$row1['Key']; 
        $_SESSION['date']=$row1['DATE']; 
        $_SESSION['ip']=$row1['IP']; 
        header("Location: dashboard.php"); 
       }else{ 
        echo '<script type="text/javascript"> window.onload = function() { alert("Incorrect email or password."); } </script>'; 
        //echo "Incorrect Email Or Password"; 
       } 
      } 
     } 
    } 

if(isset($_POST['licence'])) 
{ 
    Register(); 
} 

if(isset($_POST['sign'])) 
{ 
    SignIn(); 
} 

if(isset($_SESSION['id'])){ 
    $isLogin = 1; 
}else{ 
    $isLogin=0; 
} 
?> 
---- html is here ----- 

dashboard.php(彼らはログインしたときに、それが表示されますので、ユーザー名をエコーを除いて、このページには、他のPHPがないので、私は唯一のトップPHPを含む):

<?php 
session_start(); 
?> 

logout.php:

<?php 
session_start(); 
session_unset(); 
session_destroy(); 

header("location:login.php"); 
exit(); 
?> 

答えて

0

セッション値がdashboard.php

if(!isset($_SESSION['username']) && !isset($_SESSION['ip'])) { 
    header('location:login.php'); 
} 
に存在しているかどうジャストチェック
関連する問題