Jump to content

Redirecting users to their own page after login


efilleven

Recommended Posts

I am trying to make a login and direct for my clients. I have all the login stuff working but can't figure out how to redirect specific clients to their pages only. Any help anyone can offer would be great.

 

<?php
//Start session
session_start();

//Include database connection details
require_once('config.php');

//Array to store validation errors
$errmsg_arr = array();

//Validation error flag
$errflag = false;

//Connect to mysql server
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link) {
	die('Failed to connect to server: ' . mysql_error());
}

//Select database
$db = mysql_select_db(DB_DATABASE);
if(!$db) {
	die("Unable to select database");
}

//Function to sanitize values received from the form. Prevents SQL injection
function clean($str) {
	$str = @trim($str);
	if(get_magic_quotes_gpc()) {
		$str = stripslashes($str);
	}
	return mysql_real_escape_string($str);
}

//Sanitize the POST values
$login = clean($_POST['login']);
$password = clean($_POST['password']);

//Input Validations
if($login == '') {
	$errmsg_arr[] = 'Login ID missing';
	$errflag = true;
}
if($password == '') {
	$errmsg_arr[] = 'Password missing';
	$errflag = true;
}

//If there are input validations, redirect back to the login form
if($errflag) {
	$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
	session_write_close();
	header("location: login-form.php");
	exit();
}

//Create query
$qry="SELECT * FROM members WHERE login='$login' AND passwd='".md5($_POST['password'])."'";
$result=mysql_query($qry);

//Check whether the query was successful or not
if($result) {
	if(mysql_num_rows($result) == 1) {
		//Login Successful
		session_regenerate_id();
		$member = mysql_fetch_assoc($result);
		$_SESSION['SESS_MEMBER_ID'] = $member['member_id'];
		$_SESSION['SESS_FIRST_NAME'] = $member['firstname'];
		$_SESSION['SESS_LAST_NAME'] = $member['lastname'];
		session_write_close();
		header("location: member-index.php");
		exit();
	}else {
		//Login failed
		header("location: login-failed.php");
		exit();
	}
}else {
	die("Query failed");
}
?>

Link to comment
Share on other sites

If you would like them to be redirected to there own page you could possibly do it by forcing the GET method. Basically you call out the users ID from the database and place it in the header. Like so:

 

header("location: member-index.php?id=(Insert the ID here)");

 

Thats one option that way the page member-index.php knows which user it is loading. Also another way would be to use sessions so you do not have to continue to set the GET method. There are plenty of ways to go about this hope I could be of some assistance!

Link to comment
Share on other sites

My member-index.php page already specifies the users name and gives them a personalized page, however I want to skip some additional pages and when the client clicks login it sends them to their page "personalizedname.php" so if "client a" signs in they go to "pagea.php" and when "client b" signs in they go "pageb.php" and so forth and so on. Currently everyone is directed to member-index.php

Link to comment
Share on other sites

My member-index.php page already specifies the users name and gives them a personalized page, however I want to skip some additional pages and when the client clicks login it sends them to their page "personalizedname.php" so if "client a" signs in they go to "pagea.php" and when "client b" signs in they go "pageb.php" and so forth and so on. Currently everyone is directed to member-index.php

 

That's the way it should be. You definetly should not have name_lastname.php file formats in your site.. That's just... Plain wrong and messy. That would require you to have an endless amount of files for each user.

As Colton Wagner said, these things are usually done by $_GET variables, or just extracting user_id from $_SESSION variable and filling the page according to that data. :)

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.