2017-09-10 1 views
0

login.php 폴더와 addpost.php 폴더가 있습니다. login.php에 세션과 저장 세션을 만들고 싶다면 addpost.php로 리디렉션됩니다. addpost.php에서 login.php로 다시 리디렉션되는 세션이 저장되어 있는지 확인하고 싶습니다.PHP에서 세션 생성 및 저장

내 문제 : 아직 내 코드를 addpost.php에 넣지 않아도 작동하지만 내 코드를 테스트하고 내 코드를 테스트하기 위해 돌아 왔을 때 로그인 페이지를 addpost 페이지로 리디렉션 할 수 없습니다.

여기

<?php 
require('../koneksi.php'); 
if(isset($_POST['login'])){ 

    $username = mysqli_real_escape_string($kon, ($_POST['username'])); 
    $password = mysqli_real_escape_string($kon, ($_POST['password'])); 
    $query = "SELECT * FROM admin WHERE username = '$username' AND password = '$password'"; 
    $result = mysqli_query($kon, $query); 
    if(!$result || mysqli_num_rows($result) == 0){ 
     echo '<script>alert("Username atau password Anda salah!")</script>'; 
    } else { 
     $_SESSION['admin'] = 'username'; 
     $_SESSION['admin'] = $username; 

     header('Location: addpost.php'); 
    } 
} 

은?>

여기 addpost.php

<?php 
require('../koneksi.php'); 
session_start(); 
if(!isset($_SESSION['admin'])){ 
    header('Location: index.php'); 
} ?> 

에 내 코드의 폴더 login.php 내 코드입니다 너희들이 나를 도울 수! 고맙습니다!

+0

두 파일에서 세션이 시작되었는지 확인하십시오. https://stackoverflow.com/questions/6249707/check-if-php-session-has-already-started – GeorgeQ

+0

예, login.php 폴더에 session_start()를 넣는 것을 잊어 버렸습니다. –

답변

0

문제는 당신

경우 것 같다 (는 isset ($ _ POST는 [ '로그인']))

경우 ($ _ 서버에 [로 교체 'REQUEST_METHOD'] === 'POST')

OD POST은 또한 다음과 같은

$ _SESSION [ '관리자'] = $ 이름 도입 여분 변수의 필요없이 할; 여기

내가 솔루션

index.php를

<!DOCTYPE html> 
<html> 
<head> 
    <title> 
     Index 
    </title> 
</head> 
<body> 
    <form action="login.php" method="post"> 
     <input type="text" name="username"> 
     <input type="password" name="password"> 
     <button type="submit" value="submit">submit</button> 
    </form> 
</body> 
</html> 

을 발견하는 방법은 login.php

<?php 
include_once 'db_connect.php'; 

if($_SERVER['REQUEST_METHOD'] === 'POST'){ 
$username = mysqli_real_escape_string($conn, ($_POST['username'])); 
$password = mysqli_real_escape_string($conn, ($_POST['password'])); 
$query = "SELECT * FROM admin WHERE username = '$username' AND password = '$password'"; 
$result = mysqli_query($conn, $query); 
if(!$result || mysqli_num_rows($result) == 0){ 
    echo '<script>alert("Username atau password Anda salah!")</script>'; 
    header('Location: login.php'); 

} else { 
    session_start(); 
    $_SESSION['admin'] = 'username'; 
    header('Location: addpost.php'); 
} 
} 
?> 

addpost.php

<?php 
session_start(); 
if(!isset($_SESSION['admin'])){ 
    header('Location: index.php'); 
} 
//your code here 
?> 

해피 코딩!

+0

고맙습니다. 오늘 내 인생! –