954,136 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

To create a registration page and login page

I want to know how to create a registration page and login page ... any tutorials about this and i need some complete web templates too(not just home page)... can any one help me.....any ref plz

vinomashwin
Newbie Poster
1 post since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

You need a server-side script.

MidiMagic
Nearly a Senior Poster
3,319 posts since Jan 2007
Reputation Points: 730
Solved Threads: 182
 

Simple PHP login:

Create a database (mysqladmin)

Name the table "dbUsers." It will need 4 fields:

Name Type Addition
id int(10) Primary Key, AUTO_INCREMENT
username varchar(16) Unique
password char(16)
email varchar(25)

Create a new file and name it dbConfig.php This will file will connect to the database

<?
// Replace the variable values below
// with your specific database information.
$host = "localhost";
$user = "UserName";
$pass = "Password";
$db   = "dbName";

// This part sets up the connection to the 
// database (so you don't need to reopen the connection
// again on the same page).
$ms = mysql_pconnect($host, $user, $pass);
if ( !$ms )
{
echo "Error connecting to database.\n";
}

// Then you need to make sure the database you want
// is selected.
mysql_select_db($db);
?>


Registration name this file "register.php"

<?php

// dbConfig.php is a file that contains your
// database connection information. This
// tutorial assumes a connection is made from
// this existing file.
include ("dbConfig.php");


//Input vaildation and the dbase code
if ( $_GET["op"] == "reg" )
 {
 $bInputFlag = false;
 foreach ( $_POST as $field )
  {
  if ($field == "")
   {
   $bInputFlag = false;
   }
  else
   {
   $bInputFlag = true;
   }
  }
 // If we had problems with the input, exit with error
 if ($bInputFlag == false)
  {
  die( "Problem with your registration info. "
   ."Please go back and try again.");
  }

 // Fields are clear, add user to database
 //  Setup query
 $q = "INSERT INTO `dbUsers` (`username`,`password`,`email`) "
  ."VALUES ('".$_POST["username"]."', "
  ."PASSWORD('".$_POST["password"]."'), "
  ."'".$_POST["email"]."')";
 //  Run query
 $r = mysql_query($q);
 
 // Make sure query inserted user successfully
 if ( !mysql_insert_id() )
  {
  die("Error: User not added to database.");
  }
 else
  {
  // Redirect to thank you page.
  Header("Location: register.php?op=thanks");
  }
 } // end if


//The thank you page
elseif ( $_GET["op"] == "thanks" )
 {
 echo "<h2>Thanks for registering!</h2>";
 }
 
//The web form for input ability
else
 {
 echo "<form action=\"?op=reg\" method=\"POST\">\n";
 echo "Username: <input name=\"username\" MAXLENGTH=\"16\">\n";
 echo "Password: <input type=\"password\" name=\"password\" MAXLENGTH=\"16\">\n";
 echo "Email Address: <input name=\"email\" MAXLENGTH=\"25\">\n";
 echo "<input type=\"submit\">\n";
 echo "</form>\n";
 }
// EOF
?>


Login name this file "login.php"

<?php
session_start();
// dBase file
include "dbConfig.php";

if ($_GET["op"] == "login")
 {
 if (!$_POST["username"] || !$_POST["password"])
  {
  die("You need to provide a username and password.");
  }
 
 // Create query
 $q = "SELECT * FROM `dbUsers` "
  ."WHERE `username`='".$_POST["username"]."' "
  ."AND `password`=PASSWORD('".$_POST["password"]."') "
  ."LIMIT 1";
 // Run query
 $r = mysql_query($q);

 if ( $obj = @mysql_fetch_object($r) )
  {
  // Login good, create session variables
  $_SESSION["valid_id"] = $obj->id;
  $_SESSION["valid_user"] = $_POST["username"];
  $_SESSION["valid_time"] = time();

  // Redirect to member page
  Header("Location: members.php");
  }
 else
  {
  // Login not successful
  die("Sorry, could not log you in. Wrong login information.");
  }
 }
else
 {
//If all went right the Web form appears and users can log in
 echo "<form action=\"?op=login\" method=\"POST\">";
 echo "Username: <input name=\"username\" size=\"15\">";
 echo "Password: <input type=\"password\" name=\"password\" size=\"8\">";
 echo "<input type=\"submit\" value=\"Login\">";
 echo "</form>";
 }
?>


Members Area name this file "members.php", and include on pages that are only for registered users

?php
session_start();

if (!$_SESSION["valid_user"])
{
// User not logged in, redirect to login page
Header("Location: login.php");
}

// Member only content
// ...
// ...
// ...

// Display Member information
echo "<p>User ID: " . $_SESSION["valid_id"];
echo "<p>Username: " . $_SESSION["valid_user"];
echo "<p>Logged in: " . date("m/d/Y", $_SESSION["valid_time"]);

// Display logout link
echo "<p><a href=\"logout.php\">Click here to logout!</a></p>";
?>


logout name this file "logout.php"

<?php
session_start();
session_unset();

session_destroy();
// Logged out, return home.
Header("Location: index.php");
?>


There you go... need more help or confused, just ask.

If this information solved your problem. Please add to my reputation.
Thanks
macneato

macneato
Posting Pro in Training
421 posts since Jun 2007
Reputation Points: 46
Solved Threads: 48
 

Oh, to test your php, you'll need a server. I sugguest working on localhost. Lots of ways to do this. Easyphp is the simplest to setup. Place all files in the installation directory/publicHTML.

macneato
Posting Pro in Training
421 posts since Jun 2007
Reputation Points: 46
Solved Threads: 48
 

THIS IS GREAT! Thank you! One thing... how can I get it so that people can request their password when and if they loose it?

Also.. it seems that I had to change the type for PASSWORD to TXT in order for it to work..

ViroGen
Newbie Poster
15 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

With the password field. Change the type to varchar(25)

As for requesting passwords.

Yes. It can be done.
Ask the user to enter their email address.
select password from your_db where email_address = 'their_address'
Use the mail() function to send the password to the email address.

SQL:
SELECT
dbusers.password
FROM
dbusers
WHERE
(dbusers.email = 'pforgot')

'pforgot' is any name you've given to the form text input. Will write up a full script as soon as i get time. It's monday morning.. Things are a little hectic.

macneato
Posting Pro in Training
421 posts since Jun 2007
Reputation Points: 46
Solved Threads: 48
 

I changed the type and still doesn't work.. when I try to login after creating new login, it says "Sorry, could not log you in. Wrong login information."

I will try the other.. Thank you!

With the password field. Change the type to varchar(25)

As for requesting passwords.

Yes. It can be done. Ask the user to enter their email address. select password from your_db where email_address = 'their_address' Use the mail() function to send the password to the email address.

SQL: SELECT dbusers.password FROM dbusers WHERE (dbusers.email = 'pforgot')

'pforgot' is any name you've given to the form text input. Will write up a full script as soon as i get time. It's monday morning.. Things are a little hectic.

ViroGen
Newbie Poster
15 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

That would be great! I am still learning and developers like you help in this learning process.

ViroGen
Newbie Poster
15 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

i had the same problem.
thanks
cashu
http://tech-unite.com/forum/viewtopic.php?f=5&t=10

cashu
Newbie Poster
4 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

hey hi,dis is prakruti i too have same pro...i m creating a website for which i require registration page and login page.I have referred to the reply given in dis forum.But i guess dis code uses mysql as database but my database is DB2 frm IBM..plz can u suggest me how to design the registration and login webpage using DB2 as database.I would be very grateful if anyone helps me.
thanking u

prakruti
Newbie Poster
3 posts since Dec 2007
Reputation Points: 10
Solved Threads: 0
 

Please help me with code for users who forget their password and need to ask for it. I have been trying and failing badly!

ViroGen
Newbie Poster
15 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

Is there a way to make any of these entry lines required?

ViroGen
Newbie Poster
15 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

I need help.. I can't seem to write the code so someone can request forgotten password. Please help me with this code. Also, is there a way to make it so that the input fields are required?

Also, how can I make them retype their password when they are registering? If the retype does not match, then tell them somehow.

Thank you so much for your help. I am still learning and this is a huge help!

I am sorry about the repost of questions. I failed to see my posts and noticed then they were on page 2 of this discussion.

ViroGen
Newbie Poster
15 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

Is there a way to have a drop down list for the input fields?

ViroGen
Newbie Poster
15 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

Figured this one out.. !!

ViroGen
Newbie Poster
15 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

How can I have it so that fields are required? Also, how can I have a password field that they type in twice to make sure they typed it in correctly? Two password fields that check each other.

Also, using this code, how can I get users to retrieve their password/login based on their email? I have really been trying to to figure this out with no luck. Please help1

ViroGen
Newbie Poster
15 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

How can I have it so that fields are required? Also, how can I have a password field that they type in twice to make sure they typed it in correctly? Two password fields that check each other.

Also, using this code, how can I get users to retrieve their password/login based on their email? I have really been trying to to figure this out with no luck. Please help!

ViroGen
Newbie Poster
15 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

One more question. How can I tell user the username or email is already registered rather than getting the cant add user to database page?

ViroGen
Newbie Poster
15 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

Your script needs to check these things. That's what if statements are for.

Look at the contents of the fields, and send the user back to the form if they are not filled in.

Look for an existing user with that login before registering a new user.

MidiMagic
Nearly a Senior Poster
3,319 posts since Jan 2007
Reputation Points: 730
Solved Threads: 182
 

The problem is that I am new at this and I have been trying for a few weeks to figure it out. Is there any way you or anyone can help me with this code? I don't expect people doing my work, especially without my own trial and error, but I am at a loss here and need help. Any help would be great. Code is based on code from this thread/site. My email address is [email]general@cybrtech.net[/email] if you, or anyone, would be so kind as to help me. I can try to compensate somehoe.

ViroGen
Newbie Poster
15 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You