tags:

views:

45

answers:

2

Hi All,

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

A: 

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' "

Brian E
A: 

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.

w3d