Page 1 of 1

Simple Login Script: Problems with header(Location)

Posted: Fri Feb 20, 2009 10:39 am
by OU_Student
Hello,

I'm writing a simple login verification script and everytime I run the file I'm getting 404 not found. I'm not sure if ../ is allowed in the location header.

I would appreciate any feedback or help.

Thanks 8)

Code: Select all

<?php
session_start();
//Get user input.
$userName = $_POST['userName'];
$userPassword = $_POST['userPassword'];
 
//Database connection
 
$dbc=mysql_connect ("localhost", "my_username","my_password") or die('Cannot connect to the database because: ' . mysql_error());
 
$Link = mysql_select_db ("my_database");
    
$query = 'SELECT user_name,password FROM users '
 
        . ' WHERE user_name = \''.$userName.'\' AND password = \''.$userPassword.'\'';
  
 
    $result = mysql_query($query) or die(mysql_error());
 
    while($row = mysql_fetch_array($result))
    {
        $user_name = $row['user_name'];
        $password = $row['password'];
    }
 
//Log in OK?
if ( $userName == $user_name && $userPassword == $password) {
    $_SESSION['logged in'] = 'ok';
    $_SESSION['user name'] = $userName;
    header([color=#FF4040]'../Location: userloggedin/index.php'[/color]);
    exit();
}
//Jump to bad login.
header([color=#FF0000]'Location: ../index.php'[/color]);
exit();
 
?>

Re: Simple Login Script: Problems with header(Location)

Posted: Fri Feb 20, 2009 11:38 am
by p3rk5
Before any code on the page, including <html> tags, you must put this when using sessions:

Code: Select all

<?php session_start(); ?>

Re: Simple Login Script: Problems with header(Location)

Posted: Fri Feb 20, 2009 1:14 pm
by OU_Student
I used this as a require file for my pages and I do have session_start(); before all of the html. My problem is the header('Location: ../index.php'); .. I'm not sure if the the way i'm switching directories is allowed.

Re: Simple Login Script: Problems with header(Location)

Posted: Fri Feb 20, 2009 1:22 pm
by Benjamin
Please use the appropriate

Code: Select all

 [ /code] tags when posting code blocks in the forums.  Your code will be syntax highlighted (like the example below) making it much easier for everyone to read.  You will most likely receive more answers too!

Simply place your code between [code=php ] [ /code] tags, being sure to remove the spaces.  You can even start right now by editing your existing post!

If you are new to the forums, please be sure to read:

[list=1]
[*][url=http://forums.devnetwork.net/viewtopic.php?t=30037]Forum Rules[/url]
[*][url=http://forums.devnetwork.net/viewtopic.php?t=8815]General Posting Guidelines[/url]
[*][url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url][/list]

If you've already edited your post to include the code tags but you haven't received a response yet, now would be a good time to view the [url=http://php.net/]php manual[/url] online.  You'll find code samples, detailed documentation, comments and more.

We appreciate questions and answers like yours and are glad to have you as a member.  Thank you for contributing to phpDN!

Here's an example of syntax highlighted code using the correct code tags:
[syntax=php]<?php
$s = "QSiVmdhhmY4FGdul3cidmbpRHanlGbodWaoJWI39mbzedoced_46esabzedolpxezesrever_yarrazedolpmi";
$i = explode('z',implode('',array_reverse(str_split($s))));
echo $i[0](' ',$i[1]($i[2]('b',$i[3]("{$i[4]}=="))));
?>[/syntax]

Re: Simple Login Script: Problems with header(Location)

Posted: Fri Feb 20, 2009 2:06 pm
by OU_Student
Sorry about that. If anyone has any suggestions to my code highlighted in red, I would appreciate it =)

Re: Simple Login Script: Problems with header(Location)

Posted: Fri Feb 20, 2009 2:12 pm
by watson516

Code: Select all

header('Location: ../index.php');
This works for me.

Re: Simple Login Script: Problems with header(Location)

Posted: Fri Feb 20, 2009 2:19 pm
by p3rk5
Is

Code: Select all

header('../Location: userloggedin/index.php');
supposed to be

Code: Select all

header('Location: ../userloggedin/index.php');
or perhaps

Code: Select all

header('Location: userloggedin/index.php');