Jump to content

Simple Register-Login-Logoff System

- - - - -

  • This topic is locked This topic is locked
76 replies to this topic

#1
Guest_Jaan_*

Guest_Jaan_*
  • Guests
First make a database and upload those tables into your database:

users.sql

CREATE TABLE `users` (

`id` INT( 50 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,

`username` VARCHAR( 15 ) NOT NULL ,

`password` VARCHAR( 15 ) NOT NULL ,

`email` VARCHAR( 50 ) NOT NULL

)

index.php

<?php


//This will start a session

session_start();


$username = $_SESSION['username'];

$password = $_SESSION['password'];


//Check do we have username and password

if(!$username && !$password){

echo "Welcome Guest! <br> <a href=login.php>Login</a> | <a href=register.php>Register</a>";

}else{

echo "Welcome ".$username." (<a href=logout.php>Logout</a>)";

}



?>

Now let's make a register.php file

<?php


//This function will display the registration form

function register_form(){


$date = date('D, M, Y');

echo "<form action='?act=register' method='post'>"

."Username: <input type='text' name='username' size='30'><br>"

."Password: <input type='password' name='password' size='30'><br>"

."Confirm your password: <input type='password' name='password_conf' size='30'><br>"

."Email: <input type='text' name='email' size='30'><br>"

."<input type='hidden' name='date' value='$date'>"

."<input type='submit' value='Register'>"

."</form>";


}


//This function will register users data

function register(){


//Connecting to database

$connect = mysql_connect("host", "username", "password");

if(!$connect){

die(mysql_error());

}


//Selecting database

$select_db = mysql_select_db("database", $connect);

if(!$select_db){

die(mysql_error());

}


//Collecting info

$username = $_REQUEST['username'];

$password = $_REQUEST['password'];

$pass_conf = $_REQUEST['password_conf'];

$email = $_REQUEST['email'];

$date = $_REQUEST['date'];


//Here we will check do we have all inputs filled


if(empty($username)){

die("Please enter your username!<br>");

}


if(empty($password)){

die("Please enter your password!<br>");

}


if(empty($pass_conf)){

die("Please confirm your password!<br>");

}


if(empty($email)){

die("Please enter your email!");

}


//Let's check if this username is already in use


$user_check = mysql_query("SELECT username FROM users WHERE username='$username'");

$do_user_check = mysql_num_rows($user_check);


//Now if email is already in use


$email_check = mysql_query("SELECT email FROM users WHERE email='$email'");

$do_email_check = mysql_num_rows($email_check);


//Now display errors


if($do_user_check > 0){

die("Username is already in use!<br>");

}


if($do_email_check > 0){

die("Email is already in use!");

}


//Now let's check does passwords match


if($password != $pass_conf){

die("Passwords don't match!");

}



//If everything is okay let's register this user


$insert = mysql_query("INSERT INTO users (username, password, email) VALUES ('$username', '$password', '$email')");

if(!$insert){

die("There's little problem: ".mysql_error());

}


echo $username.", you are now registered. Thank you!<br><a href=login.php>Login</a> | <a href=index.php>Index</a>";


}


switch($act){


default;

register_form();

break;


case "register";

register();

break;


}


?> 

Now let's make a login page, login.php:

<?php

session_start();


//This displays your login form

function index(){


echo "<form action='?act=login' method='post'>" 

."Username: <input type='text' name='username' size='30'><br>"

."Password: <input type='password' name='password' size='30'><br>"

."<input type='submit' value='Login'>"

."</form>"; 


}


//This function will find and checks if your data is correct

function login(){


//Collect your info from login form

$username = $_REQUEST['username'];

$password = $_REQUEST['password'];



//Connecting to database

$connect = mysql_connect("host", "username", "password");

if(!$connect){

die(mysql_error());

}


//Selecting database

$select_db = mysql_select_db("database", $connect);

if(!$select_db){

die(mysql_error());

}


//Find if entered data is correct


$result = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password'");

$row = mysql_fetch_array($result);

$id = $row['id'];


$select_user = mysql_query("SELECT * FROM users WHERE id='$id'");

$row2 = mysql_fetch_array($select_user);

$user = $row2['username'];


if($username != $user){

die("Username is wrong!");

}



$pass_check = mysql_query("SELECT * FROM users WHERE username='$username' AND id='$id'");

$row3 = mysql_fetch_array($pass_check);

$email = $row3['email'];

$select_pass = mysql_query("SELECT * FROM users WHERE username='$username' AND id='$id' AND email='$email'");

$row4 = mysql_fetch_array($select_pass);

$real_password = $row4['password'];


if($password != $real_password){

die("Your password is wrong!");

}




//Now if everything is correct let's finish his/her/its login


session_register("username", $username);

session_register("password", $password);


echo "Welcome, ".$username." please continue on our <a href=index.php>Index</a>";





}


switch($act){


default;

index();

break;


case "login";

login();

break;


}

?> 

And now.. logout.php

<?php

session_start();


//This function will destroy your session

session_destroy();

echo "You are now logged out! <a href=index.php>Index</a> or <a href=login.php>Login</a>";


?>

I hope it helped.. have fun!

Attached Files


Edited by Roger, 04 January 2011 - 08:28 PM.


#2
John

John

    Writes binary right handed and hex left handed

  • Moderators
  • 6,321 posts
  • Location:New York, NY
very nice code

#3
Guest_Jaan_*

Guest_Jaan_*
  • Guests
thanks!

#4
xtraze

xtraze

    Programming God

  • Members
  • PipPipPipPipPipPipPip
  • 910 posts
Really useful but I need a way to protect some pages where only logged in users can access.

And I am using Joomla and IPB, is there anyway to link both of these, I tried to find a bridge, but couldn't. Maybe using this code can solve the problem but, need more modifications, if you can help, help me on the IPB Joomla issue.

#5
Guest_Jaan_*

Guest_Jaan_*
  • Guests
*Fixed one bug and i added index.php to*

#6
clookid

clookid

    Programmer

  • Members
  • PipPipPipPip
  • 125 posts
Simple? Lol! My friend has made one that was a lot simpler than this... Most of it was HTML though... Nevertheless, this probably works better!

#7
Guest_Jaan_*

Guest_Jaan_*
  • Guests
good for your friend then..

#8
xtraze

xtraze

    Programming God

  • Members
  • PipPipPipPipPipPipPip
  • 910 posts

clookid said:

Simple? Lol! My friend has made one that was a lot simpler than this... Most of it was HTML though... Nevertheless, this probably works better!
If it's so good, why not share it lol.
be cool, and don't stop by giving cloo's kid.
And is it using a simple textfile to store login data ?

#9
justin

justin

    Learning Programmer

  • Members
  • PipPipPip
  • 43 posts
This seems pretty good, Ive tried to make my own login system but I just can't... I dont know why. Thanks for sharing

#10
-=Ghost Warrior=-

-=Ghost Warrior=-

    Newbie

  • Members
  • Pip
  • 2 posts
:D thanks bro for the help

#11
-=Ghost Warrior=-

-=Ghost Warrior=-

    Newbie

  • Members
  • Pip
  • 2 posts
thanks bro

#12
Guest_Jaan_*

Guest_Jaan_*
  • Guests
you're welcome :)




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users