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

Recommended Answers

All 96 Replies

You need a server-side script.

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\"><br />\n";
 echo "Password: <input type=\"password\" name=\"password\" MAXLENGTH=\"16\"><br />\n";
 echo "Email Address: <input name=\"email\" MAXLENGTH=\"25\"><br />\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\"><br />";
 echo "Password: <input type=\"password\" name=\"password\" size=\"8\"><br />";
 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

commented: thanks its realy helpfull +0

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.

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..

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.

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.

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

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

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

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

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.

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

Figured this one out.. !!

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

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!

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?

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.

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. If you, or anyone, would be so kind as to help me. I can try to compensate somehoe.

Sorry viro. Been on vacation.. In mozambique and ended up getting a bad case of malaria. Nevertheless. I'm back and feeling in quite a good mood -haha, must be cause im alive. So, figured im gonna write up a complete, new script and zip it up all nicely for you. Expect it soon.

macneato

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.

You can use ready made forum software like phpBB which will save you from this kind of coding problem.

But thats a board. Which means you limited in terms of templates and many other factors.

I too am getting the "Sorry, could not log you in. Wrong login information." error. I've changed the password field to VARCHAR 25.

Additionally, when I do the register.php page There is no error message OR THank you message. Can anybody tell me if they have been able to get this script to work. I feel I am so close.

thanks in advance

Ok guys this is a great post but I have absolutly never dealt with php before how do i put this file into my HTML code so that I can register users. I have tried stuff I found on google but nothing worked I would really thank you if you could help

Email me if you want help.

<snipped>

Any new help anyone can provide to help me with users needing help getting their login and password info sent to them if they forget it?

what u mean with ''Create a new file and name it dbConfig.php" ??

what u mean with ''Create a new file and name it dbConfig.php" ??

Open a text editor (like notepad) and copy the code into it. Then save the file as dbConfig.php.

how can I activate or something on my website??

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.