Jump to content

Login and redirection for a member


TanyaTR

Recommended Posts

Hello everyone, I first want to offer my apologies if this question exists. (I was looking in the forums and not found something similar).

 

The point of my problem is that I have installed a server for family at home (apache2 with mysql and phpmyadmin on a ubuntu 8.04 LTS OS) .. learning alone, I have configured the server for (Alias /name /home/my_father/public html/) (Alias /name /mymother/public_html/) and on .. I have also a database for them (as users) and it can be used for login with their name and password (or a new registration of a family member) .. So far so good.

 

But my problem starts when I have to redirect them to the home page of each one, where each has their photos, music, mail, etc.) ..

 

How can I redirect a user (by id) to the home page that is in their Public folder (example) if my mom comes to our http://mifamilyserver.com/ ..and type her name and password in the login_form.php.. HOW I send her to http://mifamilyserver.com/mom/

 

How can i make my login_form.php do that for each one of them?

 

I apologize again, and this time it is also for my bad English (thanks to Google translation), I thank you all for any help, just please easy on my i am just (14 years old Hispanic girl) .. I want to learn and is very difficult to me find detailed explanations in Spanish and English detailed explanations that I found gets all complicated to me when translating comes :( .. thanks you all

 

 

Link to comment
Share on other sites

Forgot to say that:

registration_from.php will set user: name nikname password email (into database table for users).. After that the registration_from.php has created users into DB, them my login_form.php will call (users_login_exec.php wich have : the following sintax:

<?php
//Start session
session_start();

//Include database connection details
require_once('main_user_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_have_failed.php");
		exit();
	}
}else {
	die("Query failed");
}
?>

Where main_user_config.php is just the person (owner first id into that data base) here the sintax:

<?php
define('DB_HOST', 'localhost');
    define('DB_USER', 'name_of_the_person');
    define('DB_PASSWORD', 'password_of_the_person');
    define('DB_DATABASE', 'name_of_the_db');
?>

Soo regardind to users_login_exec.php, in the (//Login Successful), it will send everyone (every user with a valid pass and name) to ("location: member_index.php"), and there is the part were i need help, just dont know how, to reather than send everyone to member_index.php.. just how to send them to their /public_html) wich will call teir index.php

 

Link to comment
Share on other sites

Does your mom login with the username mom? If so you can do:

 

$username = clean($_POST['username']);//this function does not exist and should be written

header('Location: /' . $username);

exit(0);

 

If not you should set a record that holds an alias

 

list(.., $alias) = mysql_fetch_row($result);

header('Location: /' . $alias);

exit(0);

Link to comment
Share on other sites

Thanks ignace for your replay.

Does your mom login with the username mom?

Fist "sorry for long explanation, but I want to explain everything very well for you".

The registrattion-form that i have it is simple, just request from my family (users): First Name, Last Name, Login (will be the nick login name e.g "whatevernickname"), Password (confirmation of cpassword), and set that info into the table of db, after that the login-form just ask for "nick" means login name, and password... so my mysql db for these users, holds the "nick" and "passwords" since their registered... so she has to login as (name:whatevernickname) (password:herpassword).

 

And their Alias (public_html) has been set (into httpd.conf) sintax:

Alias /Dady "/home/midadyname_midadylastname/public_html"

<Directory "/home/midadyname_midadylastname/public_html">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Alias /Mom "/home/mimomname_mimomlastname/public_html"

<Directory "/home/mimomname_mimomlastname/public_html">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

That means they can access their ...public_html/index.php just typing http://mifamilyserver.com/Mom or http://mifamilyserver.com/Dady

Does your mom login with the username mom? If so you can do:

 

$username = clean($_POST['username']);//this function does not exist and should be written

header('Location: /' . $username);

exit(0);

 

If not you should set a record that holds an alias

 

list(.., $alias) = mysql_fetch_row($result);

header('Location: /' . $alias);

exit(0);

ummm, where ?

like this?:

<?php
//Start session
session_start();

//Include database connection details
require_once('main_user_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");
//ignace below is what i did.. is like that?
                        list(.., $alias) = mysql_fetch_row($result);
                        header('Location: /' . $alias);
                        exit(0);
	}else {
		//Login failed
		header("location: login_have_failed.php");
		exit();
	}
}else {
	die("Query failed");
}
?>

I do have also in a very top of every php page that is supose include in their home directory thi following sintax:

<?php
require_once('auth.php');
?>

 

 

 

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.