Quantcast
Channel: PHP Freaks: PHP Help
Viewing all articles
Browse latest Browse all 13200

Login Function Can't Find DB, but Other Functions Can?

$
0
0

Hi everyone! Thanks, in advance, for any and all help.  It's greatly appreciated.

So I created this function:

function login()
{	
	$db_hostname = "localhost"; 
	$db_username = "root";
	$db_password = "";
	$db_name =     "justinalba_module3_db";
	$dbc = @mysqli_connect($db_hostname, $db_username, $db_password, $db_name)
   	 or die("Unable to connect to MySQL");
	if (isset($_POST['submitLogin'])) 
	{ 
// if form has been submitted
// makes sure they filled it in
 		if(!$_POST['userName'] | !$_POST['passwordLogin']) 
		{
 			die('You did not fill in a required field.');
	 	}
 		$query = mysql_query("SELECT * FROM users WHERE name_username = '".$_POST['userName']."'")or die(mysql_error());
	 	//Gives error if user dosen't exist
		$check = mysql_num_rows($query);
		if ($check == 0) 
		{
 			die('That user does not exist in our database. <a href=add.php>Click Here to Register</a>');
		}
		 while($info = mysql_fetch_array( $query )) 	
		{
 			$_POST['passwordLogin'] = stripslashes($_POST['passwordLogin']);
 			$info['password'] = stripslashes($info['password']);
 			//gives error if the password is wrong
 			if ($_POST['passwordLogin'] != $info['password']) 
			{
 			die('Incorrect password, please try again.');
 			}
			else 
			{ 	
			echo "you are logged in";
			}
		}
	}
}

 

I get an error that there is "No database selected."  However the rest of my functions:

function checkUserName(){
	if(isset($_POST['userNameAvailabilityCheck']))
	{
		$username = $_POST['username'];
		$db_hostname = "localhost"; 
		$db_username = "root";
		$db_password = "";
		$db_name =     "justinalba_module3_db";
		$dbc = @mysqli_connect($db_hostname, $db_username, $db_password, $db_name)
    		 or die("Unable to connect to MySQL");
		$query = "SELECT name_username FROM user WHERE name_username = '$username' ORDER by ID DESC";
		$result = mysqli_query($dbc, $query);
		$row = mysqli_fetch_row($result);			
		$usernameExisting = $row[0];
	 	if($usernameExisting == $username) // if the result matches the first MySql row result, error
			{
				echo 'Username already exists.';
			}
		elseif (strlen($username) < 6 || strlen($username) > 15) // checks length of username
			{
				echo "Username must be 6 to 15 characters";
			}
		elseif (preg_match("/^[a-zA-Z1-9]+$/", $username)) //checks for illegal characters, succcess!
			{
  				echo 'Username is available.';
			}
		else //if there are illegal characters
			{
   				echo 'Use alphanumeric characters only.';
			}
	}
}
function register(){
if(isset($_POST['submitRegistration']))
	$username=$_POST['username'];
$firstName = $_POST['firstName'];
$lastName = $_POST['lastName'];
$password=$_POST['password2'];
	{
	if($_POST['username']=="")
		{
			echo "Please type username";
		}
	elseif (!preg_match("/^[a-zA-Z1-9]+$/", $username)) //checks for illegal characters, succcess!
		{
  			echo 'Use alphanumeric characters only.';
		}
	elseif (strlen($username) < 6 || strlen($username) > 15) // checks length of username
		{
			echo "Username must be 6 to 15 characters";
		}
	elseif($_POST['password1']==""|$_POST['password2']=="")
		{
			echo "Please type password";
		}
	elseif($_POST['password1']!=$_POST['password2'])
		{
			echo "Uh-oh.  Your passwords don't match.";
		}
	else
		{	
			$db_hostname = "localhost"; 
			$db_username = "root";
			$db_password = "";
			$db_name =     "justinalba_module3_db";
			$username=$_POST['username'];
			$firstName = $_POST['firstName'];
			$lastName = $_POST['lastName'];
			$password=$_POST['password2'];
			$dbc = @mysqli_connect($db_hostname, $db_username, $db_password, $db_name)
			     or die("Unable to connect to MySQL");
			$sql = "INSERT INTO user (id, name_first, name_last, name_username, password) VALUES 
				('', '$firstName', '$lastName', '$username', '$password')";
			mysqli_query ($dbc, $sql) or die("Problem executing query");
			echo "Rows inserted: ", mysqli_affected_rows($dbc), "<br><br>";

$rowcount = 0;

$q = mysqli_query($dbc, "select * from user");
while ($dbc = mysqli_fetch_row($q)) {
    $rowcount++;

    for ($k=0; $k<count($dbc); $k++){
        echo " $dbc[$k] ";
    }
    echo "<br>";
}

echo "<p> A total of  $rowcount rows<br>";
		}
	}
}

 

Seem to work without a hitch...any suggestions on what the problem with the database is in that particular function when it works through all the others?  My guess is that I'm not passing $dbc through any of the sql statements.  What do you think?

Attached Files


Viewing all articles
Browse latest Browse all 13200

Trending Articles