开发者

php session creating / reading problem

开发者 https://www.devze.com 2023-01-20 10:09 出处:网络
I\'m trying to create a very simple login in php. All i want to do is, register a session called user if the login is successful and direct the user to an inner page. in that inner page i have a incl

I'm trying to create a very simple login in php. All i want to do is,

register a session called user if the login is successful and direct the user to an inner page. in that inner page i have a include file which should check if the user session is created or not

if created -> authorize user if not created -> redirect to login again.

But still I couldnt get this up and running. below is my code

login.php

        session_start();
        global $user;

        if (($_POST['Submit'])){
                $login = $_POST['login'];
                $password = $_POST['password'];
                if ((do_login($login,  encrypt_password($password))) > 0){
                    $_SESSION['user'] = $login;
                    header('Location: home/dashboard.php');
                }
        开发者_如何学运维        else{
                    // load login again
                }
          }

and in my dashboard.php page this is how I'm checking it (and this part i have in another file called 'authentication.inc')

<?php
    session_start(); // If
    if (!isset($_SESSION['user'])) {
        // User is not logged in, so send user away.
        header("Location:/login");
        die();
    }
?>

updated ::

when I do an echo $_SESSION['user'], I'm expecting to see login name ($login) of the user which i done get :C

Am I missing something here... thanks in advance

cheers

sameera


if (!isset ($_POST['Submit']) || $_POST['Submit'] != 'Login'){

The code inside that if block won't get run if the form is submitted properly, because that condition reads " if Submit isn't set or it isn't 'Login' ". Try flipping the logic of that condition, ie:

if (isset ($_POST['Submit']) && $_POST['Submit'] == 'Login'){ -> " if Submit is set and it is 'Login' "


The Location header takes an absolute URL, not a relative URL, of the form:

header("Location: http://www.example.com/login.php");

There is an example on the PHP Manual header() page that can help to create the absolute URL.

And what @Brian says regarding the logic of your IF expression.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号