Solved

check if username is already in database at login

Posted on 2009-04-03
8
1,141 Views
Last Modified: 2013-12-12
How do i check if a username is already in the database at the login stage using php statements?
0
Comment
Question by:AnnMarieB
  • 3
  • 2
  • 2
  • +1
8 Comments
 
LVL 28

Expert Comment

by:gamebits
ID: 24058719
<?php

//include your file to connect to the db
include 'dbconnection.php';

$username = $_POST['username'];

$sql = mysql_query("SELECT * FROM tablename WHERE username = '$username'");

$num = mysql_num_rows($sql);

if($num > 0){do what you need when the user exist, set cookie, session etc}else{Do what you want when the user doesn't exist}

?>

This is very basic many improvment could and should be done.
                           
0
 

Author Comment

by:AnnMarieB
ID: 24058784
if this is my code whereabouts should i insert it into??thanks
<html>

<head>

  <title>Input Validation</title>

<style type="text/css">

* {margin:1;padding:0}

p{margin-bottom:1em}

/* mac hide \*/

html, body {height:100%}

/* end hide */

body {

	background:#ffffcc;

	color: #000000;

}

#outer{

	min-height:100%;

	margin-left:160px;

	background:#F8E7EC;

	border-left:1px solid #000;

	margin-bottom:-52px;

	color: #000000;

}
 

* html #outer{	height:100%} /*IE treats height as min-height anyway*/

#header{

	position:absolute;

	top:0;

	left:0;

	width:100%;

	height:70px;

	background:#FF0000;

	border-top:1px solid #000;

	border-bottom:1px solid #000;

	overflow:hidden;/* fixed height so hide overflow*/

	color: #000000;

}

#left {

	float: left;

	position: relative; /* Needed for IE/win */

	width: 160px;  /*same as margin on outer */  

	margin-left: -159px; /*must be 1px less than width otherwise won't push footer down */   

	left:-1px;/* line it up exactly*/

	padding-top:72px;/* space for header*/

}

#left {margin-right: -3px;}/* 3 px jog for ie (also fixes mozilla issue with float drop)*/

#left p {padding:3px;}

#footer {

	width:100%;

	clear:both;

	height:50px;

	border-top:1px solid #000;

	border-bottom:1px solid #000;

	background-color: #FF8080;

	color: #000000;

	text-align:center;

	position:relative;

}

* html #footer {/*only ie gets this style*/

	\height:52px;/* for ie5 */

	he\ight:50px;/* for ie6 */

}

#clearfooter{clear:both;height:52px;}/*needed to make room for footer*/

#centrecontent {

	float:right;

	width:100%;

	position:relative;

	padding-top:72px;/* space for header*/

}

.outerwrap {

float: left;

width: 100%;

position:relative;

}
 
 

</style>

</head>

<div id="header">

<h1>DCU Student Timetable Organiser</h1>

<br>

<br>

</div>

<div id="outer">

	<div class="outerwrap">

		<div id="centrecontent">

			<body>

			<h2> Please enter all your details below:</h2><br>

 <form method = "post" action ="<?php echo $_SERVER['PHP_SELF']; ?>">
 

  First name: <input name="firstname" type="text" value="">

  <br><br><br>
 
 

  Last name: <input name="lastname" type="text" value="">

  <br><br><br>

 
 

  username: <input name="username" type="text" value="">

  <br><br><br>

  

  password: <input name="password" type="text" value="">

  <br><br><br>

 

  email: <input name="email" type="text" value="">

  <br><br><br>
 

  

<p><b>Please Choose your programme:</b>

<SELECT NAME="coursecode">

<OPTION value="CA">CA</OPTION>

<OPTION value="CAIS">CAIS</OPTION>

<OPTION value="CASE">CASE</OPTION>

<br></select>

<br><br>
 

 

   <b>Please choose your year:</b>

<select Name = "courseyear">

<OPTION value="1">1</OPTION>

<OPTION value="2">2</OPTION>

<OPTION value="3">3</OPTION>

<OPTION value="4">4</OPTION>

<OPTION value="5">5</OPTION>

</select><br><br>

<br><br>

	
 

<input type="submit" name="submit" value="Submit">

</form>

<?php

include 'config.php';

include 'opendb.php';
 

	if (isset($_POST['submit'])) {

	$firstname = $_POST['firstname'];

    $lastname = $_POST['lastname'];

	$username = $_POST['username'];

	$password = ($_POST['password']);

	$email = $_POST['email'];

	$coursecode = $_POST['coursecode'];

	$courseyear = $_POST['courseyear'];
 
 

    if ( !empty($firstname) && !empty($lastname) && !empty($username) && !empty($password) && !empty($email) ) {

       
 

		$query = mysql_query("INSERT INTO userinfo(firstname, lastname, username, password, email, coursecode, courseyear) VALUES ('$firstname','$lastname','$username','$password','$email','$coursecode','$courseyear')");

		

		$query1 = mysql_query("INSERT INTO weeklytimetable(username, coursecode, courseyear, semester, id, day, time, subject) SELECT userinfo.username, userinfo.coursecode, userinfo.courseyear, courseinfo.semester, courseinfo.id, courseinfo.day, courseinfo.time, courseinfo.subject FROM courseinfo, userinfo WHERE courseinfo.semester = '1'");

		$query2 = mysql_query("INSERT INTO sem1week1(username, coursecode, courseyear, semester, id, day, time, subject) SELECT weeklytimetable.username, weeklytimetable.coursecode, weeklytimetable.courseyear, weeklytimetable.semester, weeklytimetable.id, weeklytimetable.day, weeklytimetable.time, weeklytimetable.subject FROM weeklytimetable");

		
 

 

      Header("Location: inputsuccess.php");

    }

    else { $error = true; }
 
 
 

   if($error = true && empty($firstname))	{

		echo ' <span style ="color:red">Error! Please enter a firstname.</span<br>';

	}

	if($error = true && empty($lastname))	{

		echo ' <span style ="color:red">Error! Please enter a lastname.</span<br>';

	}

	if($error = true && empty($username))	{

		echo ' <span style ="color:red">Error! Please enter a usernamename.</span<br>';

	}

	if($error = true && empty($password))	{

		echo ' <span style ="color:red">Error! Please enter a password.</span<br>';

	}

	if($error = true && empty($email))	{

		echo ' <span style ="color:red">Error! Please enter a email.</span<br>';

	}

	if($coursecode == 'CA' && $courseyear == '3')	{

		echo ' <span style ="color:red">Error! you cannot pick year three with this course.</span<br>';

	}

	if($coursecode == 'CA' && $courseyear == '4')	{

		echo ' <span style ="color:red">Error! you cannot pick year four with this course.</span<br>';

	}

	if($coursecode == 'CA' && $courseyear == '5')	{

		echo ' <span style ="color:red">Error! you cannot pick year five with this course.</span<br>';

	}

	if($coursecode == 'CAIS' && $courseyear == '1')	{

		echo ' <span style ="color:red">Error! you cannot pick year one with this course.</span<br>';

	}

	if($coursecode == 'CAIS' && $courseyear == '2')	{

		echo ' <span style ="color:red">Error! you cannot pick year two with this course.</span<br>';

	}

	if($coursecode == 'CAIS' && $courseyear == '5')	{

		echo ' <span style ="color:red">Error! you cannot pick year three with this course.</span<br>';

	}

	if($coursecode == 'CASE' && $courseyear == '1')	{

		echo ' <span style ="color:red">Error! you cannot pick year one with this course.</span<br>';

	}

	if($coursecode == 'CASE' && $courseyear == '2')	{

		echo ' <span style ="color:red">Error! you cannot pick year two with this course.</span<br>';

	}

	if($coursecode == 'CASE' && $courseyear == '5')	{

		echo ' <span style ="color:red">Error! you cannot pick year three with this course.</span<br>';

	}

	//$query = mysql_query("SELECT * FROM userinfo WHERE user_name = '". $username ."' OR email = '". $email ."'");
 

	//if (mysql_num_rows($query) > 0)

	//{

     //echo 'Username or email already in use.';

	//}
 

	}

	?>

</div>

<div id="left">

		<h3><A HREF ="login2.php" TARGET="right">Login </A><br><br>

		<A HREF ="http://www.dcu.ie" TARGET="right">DCU </A></h3>

</div>

</div>

</body>

</html>

Open in new window

0
 
LVL 14

Expert Comment

by:shobinsun
ID: 24058846
Hello,

Use this complete code . this will help you.

<?php    
mysql_connect("localhost", "dbusername","dbpasswd") or
    die ("Could not connect to database");
mysql_select_db("dbname") or
    die ("Could not select database");
 
     if(isset($_POST['submit'])&& $_POST['username'])
     {
      
      $user = '"'.$_POST['username'].'"';
      
      $sql = mysql_query("SELECT * FROM table WHERE name = ".$user);

      $count = mysql_num_rows($sql);
      if($count != 0)
      {
            echo "Test ok";
                //use your custom code here
      }
       else
       {
                //use your custom code
       }
     }
?>

<form name="form1" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="text" name="username">
<input type="submit" name="submit" value="Submit">
</form>

Regards.
0
 
LVL 28

Expert Comment

by:gamebits
ID: 24058884
     $email = $_POST['email'];
      $coursecode = $_POST['coursecode'];
      $courseyear = $_POST['courseyear'];
 
$sql00 = mysql_query("SELECT username FROM userinfo WHERE username = '$username'");
  $num = mysql_num_rows($sql00);
 
    if ( !empty($firstname) && !empty($lastname) && !empty($username) && !empty($password) && !empty($email)  && $num < 1) {      
 
            $query = mysql_query("INSERT INTO userinfo(firstname, lastname, username, password, email, coursecode, courseyear) VALUES ('$firstname','$lastname','$username','$password','$email','$coursecode','$courseyear')");
            
0
Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 

Author Comment

by:AnnMarieB
ID: 24058909
this is the error i got when i ran that code:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\StudentOrganiser\check.php on line 12
error
0
 
LVL 14

Accepted Solution

by:
shobinsun earned 500 total points
ID: 24058948
Hello,

Here I am attaching the modified code of you.

Hope this will help you.

Regards.
<html>

<head>

  <title>Input Validation</title>

<style type="text/css">

* {margin:1;padding:0}

p{margin-bottom:1em}

/* mac hide \*/

html, body {height:100%}

/* end hide */

body {

        background:#ffffcc;

        color: #000000;

}

#outer{

        min-height:100%;

        margin-left:160px;

        background:#F8E7EC;

        border-left:1px solid #000;

        margin-bottom:-52px;

        color: #000000;

}

 

* html #outer{  height:100%} /*IE treats height as min-height anyway*/

#header{

        position:absolute;

        top:0;

        left:0;

        width:100%;

        height:70px;

        background:#FF0000;

        border-top:1px solid #000;

        border-bottom:1px solid #000;

        overflow:hidden;/* fixed height so hide overflow*/

        color: #000000;

}

#left {

        float: left;

        position: relative; /* Needed for IE/win */

        width: 160px;  /*same as margin on outer */  

        margin-left: -159px; /*must be 1px less than width otherwise won't push footer down */   

        left:-1px;/* line it up exactly*/

        padding-top:72px;/* space for header*/

}

#left {margin-right: -3px;}/* 3 px jog for ie (also fixes mozilla issue with float drop)*/

#left p {padding:3px;}

#footer {

        width:100%;

        clear:both;

        height:50px;

        border-top:1px solid #000;

        border-bottom:1px solid #000;

        background-color: #FF8080;

        color: #000000;

        text-align:center;

        position:relative;

}

* html #footer {/*only ie gets this style*/

        \height:52px;/* for ie5 */

        he\ight:50px;/* for ie6 */

}

#clearfooter{clear:both;height:52px;}/*needed to make room for footer*/

#centrecontent {

        float:right;

        width:100%;

        position:relative;

        padding-top:72px;/* space for header*/

}

.outerwrap {

float: left;

width: 100%;

position:relative;

}

 

 

</style>

</head>

<div id="header">

<h1>DCU Student Timetable Organiser</h1>

<br>

<br>

</div>

<div id="outer">

        <div class="outerwrap">

                <div id="centrecontent">

                        <body>

                        <h2> Please enter all your details below:</h2><br>

 <form method = "post" action ="<?php echo $_SERVER['PHP_SELF']; ?>">

 

  First name: <input name="firstname" type="text" value="">

  <br><br><br>

 

 

  Last name: <input name="lastname" type="text" value="">

  <br><br><br>

 

 

  username: <input name="username" type="text" value="">

  <br><br><br>

  

  password: <input name="password" type="text" value="">

  <br><br><br>

 

  email: <input name="email" type="text" value="">

  <br><br><br>

 

  

<p><b>Please Choose your programme:</b>

<SELECT NAME="coursecode">

<OPTION value="CA">CA</OPTION>

<OPTION value="CAIS">CAIS</OPTION>

<OPTION value="CASE">CASE</OPTION>

<br></select>

<br><br>

 

 

   <b>Please choose your year:</b>

<select Name = "courseyear">

<OPTION value="1">1</OPTION>

<OPTION value="2">2</OPTION>

<OPTION value="3">3</OPTION>

<OPTION value="4">4</OPTION>

<OPTION value="5">5</OPTION>

</select><br><br>

<br><br>

        

 

<input type="submit" name="submit" value="Submit">

</form>

<?php

include 'config.php';

include 'opendb.php';

 

        if (isset($_POST['submit'])) {

        $firstname = $_POST['firstname'];

        $lastname = $_POST['lastname'];

        $username = $_POST['username'];

        $password = ($_POST['password']);

        $email = $_POST['email'];

        $coursecode = $_POST['coursecode'];

        $courseyear = $_POST['courseyear'];

 

 

    if ( !empty($firstname) && !empty($lastname) && !empty($username) && !empty($password) && !empty($email) ) {
 
 

        $query = mysql_query("SELECT * FROM userinfo WHERE user_name = '". $username ."' OR email = '". $email ."'");

 

        if (mysql_num_rows($query) != 0)

        {

     		echo 'Username or email already in use.';

        }

        else

        {

       

 

                $query = mysql_query("INSERT INTO userinfo(firstname, lastname, username, password, email, coursecode, courseyear) VALUES ('$firstname','$lastname','$username','$password','$email','$coursecode','$courseyear')");

                

                $query1 = mysql_query("INSERT INTO weeklytimetable(username, coursecode, courseyear, semester, id, day, time, subject) SELECT userinfo.username, userinfo.coursecode, userinfo.courseyear, courseinfo.semester, courseinfo.id, courseinfo.day, courseinfo.time, courseinfo.subject FROM courseinfo, userinfo WHERE courseinfo.semester = '1'");

                $query2 = mysql_query("INSERT INTO sem1week1(username, coursecode, courseyear, semester, id, day, time, subject) SELECT weeklytimetable.username, weeklytimetable.coursecode, weeklytimetable.courseyear, weeklytimetable.semester, weeklytimetable.id, weeklytimetable.day, weeklytimetable.time, weeklytimetable.subject FROM weeklytimetable");

                

 

 

      Header("Location: inputsuccess.php");

      }

    }

    else { $error = true; }

 

 

 

   if($error = true && empty($firstname))       {

                echo ' <span style ="color:red">Error! Please enter a firstname.</span<br>';

        }

        if($error = true && empty($lastname))   {

                echo ' <span style ="color:red">Error! Please enter a lastname.</span<br>';

        }

        if($error = true && empty($username))   {

                echo ' <span style ="color:red">Error! Please enter a usernamename.</span<br>';

        }

        if($error = true && empty($password))   {

                echo ' <span style ="color:red">Error! Please enter a password.</span<br>';

        }

        if($error = true && empty($email))      {

                echo ' <span style ="color:red">Error! Please enter a email.</span<br>';

        }

        if($coursecode == 'CA' && $courseyear == '3')   {

                echo ' <span style ="color:red">Error! you cannot pick year three with this course.</span<br>';

        }

        if($coursecode == 'CA' && $courseyear == '4')   {

                echo ' <span style ="color:red">Error! you cannot pick year four with this course.</span<br>';

        }

        if($coursecode == 'CA' && $courseyear == '5')   {

                echo ' <span style ="color:red">Error! you cannot pick year five with this course.</span<br>';

        }

        if($coursecode == 'CAIS' && $courseyear == '1') {

                echo ' <span style ="color:red">Error! you cannot pick year one with this course.</span<br>';

        }

        if($coursecode == 'CAIS' && $courseyear == '2') {

                echo ' <span style ="color:red">Error! you cannot pick year two with this course.</span<br>';

        }

        if($coursecode == 'CAIS' && $courseyear == '5') {

                echo ' <span style ="color:red">Error! you cannot pick year three with this course.</span<br>';

        }

        if($coursecode == 'CASE' && $courseyear == '1') {

                echo ' <span style ="color:red">Error! you cannot pick year one with this course.</span<br>';

        }

        if($coursecode == 'CASE' && $courseyear == '2') {

                echo ' <span style ="color:red">Error! you cannot pick year two with this course.</span<br>';

        }

        if($coursecode == 'CASE' && $courseyear == '5') {

                echo ' <span style ="color:red">Error! you cannot pick year three with this course.</span<br>';

        }
 

 

        }

        ?>

</div>

<div id="left">

                <h3><A HREF ="login2.php" TARGET="right">Login </A><br><br>

                <A HREF ="http://www.dcu.ie" TARGET="right">DCU </A></h3>

</div>

</div>

</body>

</html>

Open in new window

0
 
LVL 28

Expert Comment

by:gamebits
ID: 24058958
This mean the query did not work, I used the table name you have in the INSERT query as well as the field name "username", first thing would be to check if we connect to the db properly.

If you have access to mysql with phpmyadmin for example you can try to run the query directly you just need to replace $username with an appropriate username
0
 
LVL 5

Expert Comment

by:striker46
ID: 24059770
http://www.aleixcortadellas.com/main/2009/03/05/465/

This is a solution which combines PHP and AJAX for a username availability check.
Try the demo here to see it in action: http://www.aleixcortadellas.com/demos/ajaxusernamecheck/index.php

Regards
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Part of the Global Positioning System A geocode (https://developers.google.com/maps/documentation/geocoding/) is the major subset of a GPS coordinate (http://en.wikipedia.org/wiki/Global_Positioning_System), the other parts being the altitude and t…
This article discusses how to create an extensible mechanism for linked drop downs.
The viewer will learn how to count occurrences of each item in an array.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now