Skip to content
pakainfo

Pakainfo

Web Development & Good Online education

Guest Posting Sites
  • Home
  • Blog
  • Categories
  • Tools
  • Full Form
  • Guest Post
  • Advertise
  • About
  • Contact Us

registration and signin form in php and mysql with validation

March 30, 2020 Pakainfo Technology, Mysql, Mysqli, php, Programming Leave a comment

Today, We want to share with you registration and signin form in php and mysql with validation code free download.In this post we will show you User Registration in PHP with Login: Form with MySQL and Code Download, hear for Registration and Login form in PHP and MySQL with Validation Code Free Download we will give you demo and example for implement.In this post, we will learn about Complete user registration system using PHP and MySQL database with an example.

registration and signin form in php and mysql with validation code free download

Contents

  • registration and signin form in php and mysql with validation code free download
    • Database with Table structure
    • Read
    • Summary
    • Related posts

There are the Following The simple About Login and Signup form using PHP and MySQL with validation Full Information With Example and source code.

As I will cover this Post with live Working example to develop PHP User Registration Form (Sign up) with MySQL Database, so the php: complete Login and registration system with php & mysql download is used for this example is following below.

Database with Table structure

registration and signin form in php and mysql with validation Example

customer-registration.sql

--
-- Database: `customer-registration`
--

-- --------------------------------------------------------

--
-- Table structure for table `tbl_visitor`
--

CREATE TABLE `tbl_visitor` (
  `id` int(11) NOT NULL,
  `customername` varchar(255) NOT NULL,
  `password` varchar(200) NOT NULL,
  `email` varchar(255) NOT NULL,
  `create_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Indexes for dumped tables
--

--
-- Indexes for table `tbl_visitor`
--
ALTER TABLE `tbl_visitor`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `tbl_visitor`
--
ALTER TABLE `tbl_visitor`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

index.php

<?php 
use Pakainfo\Visitor;

session_start();
?>
<HTML>
<HEAD>
<TITLE>customer-registration</TITLE>
<link href="./assets/css/pakainfo-style.css" type="text/css"
	rel="stylesheet" />
<link href="./assets/css/customer-registration.css" type="text/css"
	rel="stylesheet" />
<script src="./vendor/jquery/jquery-3.3.1.js" type="text/javascript"></script>
</HEAD>
<BODY>
	<div class="pakainfo-container">
	<?php require_once "signin-form.php";?>
	</div>
</BODY>
</HTML>

customer-registration-form.php

<?php
use Pakainfo\Visitor;
if (! empty($_POST["added-btn"])) {
    require_once './Model/Visitor.php';
    $visitor = new Visitor();
    $registrationResponse = $visitor->registerVisitor();
}
?>
<HTML>
<HEAD>
<TITLE>Registration</TITLE>
<link href="./assets/css/pakainfo-style.css" type="text/css"
	rel="stylesheet" />
<link href="./assets/css/customer-registration.css" type="text/css"
	rel="stylesheet" />
<script src="./vendor/jquery/jquery-3.3.1.js" type="text/javascript"></script>
</HEAD>
<BODY>
	<div class="pakainfo-container">
		<div class="register-container">
			<div class="signin-added">
				<a href="index.php">Login</a>
			</div>
			<div class="">
				<form name="register" action="" method="post"
					onsubmit="return addedValidation()">
					<div class="added-heading">Registration</div>
				<?php 
				if(!empty($registrationResponse["status"]))
				{
				?>
                    <?php 
                    if($registrationResponse["status"] == "error")
                    {
                    ?>
				    <div class="server-response error-msg"><?php echo $registrationResponse["message"]; ?></div>
                    <?php 
				    } 
				    else if($registrationResponse["status"] == "success")
				    {
                    ?>
                    <div class="server-response success-msg"><?php echo $registrationResponse["message"]; ?></div>
                    <?php 
				    }
                    ?>
				<?php 
				}
				?>
				<div class="error-msg" id="error-msg"></div>
					<div class="dsp row jdk">
						<div class="inline-block">
							<div class="form-label custom-point">
								Customername<span class="required error" id="customername-info"></span>
							</div>
							<input class="input-box-330" type="text" name="customername"
								id="customername">
						</div>
					</div>
					<div class="dsp row jdk">
						<div class="inline-block">
							<div class="form-label custom-point">
								Email<span class="required error" id="email-info"></span>
							</div>
							<input class="input-box-330" type="email" name="email" id="email">
						</div>
					</div>
					<div class="dsp row jdk">
						<div class="inline-block">
							<div class="form-label custom-point">
								Password<span class="required error" id="added-password-info"></span>
							</div>
							<input class="input-box-330" type="password"
								name="added-password" id="added-password">
						</div>
					</div>
					<div class="dsp row jdk">
						<div class="inline-block">
							<div class="form-label custom-point">
								Confirm Password<span class="required error"
									id="confirm-password-info"></span>
							</div>
							<input class="input-box-330" type="password"
								name="confirm-password" id="confirm-password">
						</div>
					</div>
					<div class="dsp row jdk">
						<input class="register-btn" type="submit" name="added-btn"
							id="added-btn" value="Sign up">
					</div>
				</form>
			</div>
		</div>
	</div>

	<script>
function addedValidation() {
	var valid = true;
	
	$("#customername").removeClass("error-field");
	$("#email").removeClass("error-field");
	$("#password").removeClass("error-field");
	$("#confirm-password").removeClass("error-field");
	
	var CustomerName = $("#customername").val();
	var email = $("#email").val();
	var Password = $('#added-password').val();
    var ConfirmPassword = $('#confirm-password').val();
	var emailRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-][email protected][a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
		
	$("#customername-info").html("").hide();
	$("#email-info").html("").hide();

	if (CustomerName.trim() == "") {
		$("#customername-info").html("required.").css("color", "#ee0000").show();
		$("#customername").addClass("error-field");
		valid = false;
	}
	if (email == "") {
		$("#email-info").html("required").css("color", "#ee0000").show();
		$("#email").addClass("error-field");
		valid = false;
	} else if (email.trim() == "") {
		$("#email-info").html("Invalid email address.").css("color", "#ee0000").show();
		$("#email").addClass("error-field");
		valid = false;
	} else if (!emailRegex.test(email)) {
		$("#email-info").html("Invalid email address.").css("color", "#ee0000")
				.show();
		$("#email").addClass("error-field");
		valid = false;
	}
	if (Password.trim() == "") {
		$("#added-password-info").html("required.").css("color", "#ee0000").show();
		$("#added-password").addClass("error-field");
		valid = false;
	}
	if (ConfirmPassword.trim() == "") {
		$("#confirm-password-info").html("required.").css("color", "#ee0000").show();
		$("#confirm-password").addClass("error-field");
		valid = false;
	}
	if(Password != ConfirmPassword){
        $("#error-msg").html("Both passwords must be same.").show();
        valid=false;
    }
	if (valid == false) {
		$('.error-field').first().focus();
		valid = false;
	}
	return valid;	
}
</script>
</BODY>
</HTML>

signin-form.php

<?php
if (! empty($_POST["signin-btn"])) {
    require_once './Model/Visitor.php';
    $visitor = new Visitor();
    $signinResult = $visitor->signinVisitor();
}
?>
		<div class="register-container">
			<div class="signin-added">
				<a href="customer-registration-form.php">Sign up</a>
			</div>
			<div class="added-align">
				<form name="signin" action="" method="post"
					onsubmit="return signinValidation()">
					<div class="added-heading">Login</div>
				<?php if(!empty($signinResult)){?>
				<div class="error-msg"><?php echo $signinResult;?></div>
				<?php }?>
				<div class="dsp row jdk">
						<div class="inline-block">
							<div class="form-label custom-point">
								Customername<span class="required error" id="customername-info"></span>
							</div>
							<input class="input-box-330" type="text" name="customername"
								id="customername">
						</div>
					</div>
					<div class="dsp row jdk">
						<div class="inline-block">
							<div class="form-label custom-point">
								Password<span class="required error" id="added-password-info"></span>
							</div>
							<input class="input-box-330" type="password"
								name="added-password" id="added-password">
						</div>
					</div>
					<div class="dsp row jdk">
						<input class="register-btn" type="submit" name="signin-btn"
							id="signin-btn" value="Login">
					</div>

				</form>
			</div>
		</div>

	<script>
function signinValidation() {
	var valid = true;
	$("#customername").removeClass("error-field");
	$("#password").removeClass("error-field");
	
	var CustomerName = $("#customername").val();
	var Password = $('#added-password').val();
    
	$("#customername-info").html("").hide();
	$("#email-info").html("").hide();

	if (CustomerName.trim() == "") {
		$("#customername-info").html("required.").css("color", "#ee0000").show();
		$("#customername").addClass("error-field");
		valid = false;
	}
	if (Password.trim() == "") {
		$("#added-password-info").html("required.").css("color", "#ee0000").show();
		$("#added-password").addClass("error-field");
		valid = false;
	}
	if (valid == false) {
		$('.error-field').first().focus();
		valid = false;
	}
	return valid;	
}
</script>

home.php

<?php
session_start();
$customername = $_SESSION["customername"];
?>
<HTML>
<HEAD>
<TITLE>Welcome To Pakainfo.com</TITLE>
<link href="./assets/css/pakainfo-style.css" type="text/css"
	rel="stylesheet" />
<link href="./assets/css/customer-registration.css" type="text/css"
	rel="stylesheet" />
</HEAD>
<BODY>
	<div class="pakainfo-container">
		<div class="page-header">
			<span class="signin-added"><a href="signin-form.php">Logout</a></span>
		</div>
		<div class="page-content">Welcome To Pakainfo.com : - <?php echo $customername;?></div>
	</div>
</BODY>
</HTML>

Model/Visitor.php

<?php
namespace Pakainfo;

class Visitor
{

    private $ds;

    function __construct()
    {
        require_once __DIR__ . './../lib/DBConnection.php';
        $this->ds = new DBConnection();
    }

    public function isVisitorExists($email)
    {
        $query = 'SELECT * FROM tbl_visitor where email = ?';
        $argumentType = 's';
        $memberData = array(
            $email
        );
        $insertRecord = $this->ds->select($query, $argumentType, $memberData);
        $count = 0;
        if (is_array($insertRecord)) {
            $count = count($insertRecord);
        }
        return $count;
    }

    public function registerVisitor()
    {
        $result = $this->isVisitorExists($_POST["email"]);
        if ($result < 1) {
            if (! empty($_POST["added-password"])) {
                $hashedPassword = password_hash($_POST["added-password"], PASSWORD_DEFAULT);
            }
            $query = 'INSERT INTO tbl_visitor (customername, password, email) VALUES (?, ?, ?)';
            $argumentType = 'sss';
            $memberData = array(
                $_POST["customername"],
                $hashedPassword,
                $_POST["email"]
            );
            $visitorId = $this->ds->insert($query, $argumentType, $memberData);
            if(!empty($visitorId)) {
                $response = array("status" => "success", "message" => "You have registered successfully.");
            }
        } else if ($result == 1) {
            $response = array("status" => "error", "message" => "Email already exists.");
        }
        return $response;
    }

    public function getVisitor($customername)
    {
        $query = 'SELECT * FROM tbl_visitor where customername = ?';
        $argumentType = 's';
        $memberData = array(
            $customername
        );
        $signinCustomer = $this->ds->select($query, $argumentType, $memberData);
        return $signinCustomer;
    }

    public function signinVisitor()
    {
        $signinCustomerResult = $this->getVisitor($_POST["customername"]);
        if (! empty($_POST["added-password"])) {
            $password = $_POST["added-password"];
        }
        $hashedPassword = $signinCustomerResult[0]["password"];
        $signinPassword = 0;
        if (password_verify($password, $hashedPassword)) {
            $signinPassword = 1;
        }
        if ($signinPassword == 1) {
            $_SESSION["customername"] = $signinCustomerResult[0]["customername"];
            $url = "./home.php";
            header("Location: $url");
        } else if ($signinPassword == 0) {
            $signinStatus = "Invalid customername or password.";
            return $signinStatus;
        }
    }
}

lib/DBConnection.php

<?php
namespace Pakainfo;
class DBConnection
{

    // PHP 7.1.0 visibility modifiers are allowed for class constants.
    // when using above 7.1.0, declare the below constants as private
    const HOST = 'localhost';

    const USERNAME = 'root';

    const PASSWORD = '[email protected]#9898jdk$^%d8';

    const DATABASENAME = 'customer-registration';

    private $conn;

    function __construct()
    {
        $this->conn = $this->getConnection();
    }

    public function getConnection()
    {
        $conn = new \mysqli(self::HOST, self::USERNAME, self::PASSWORD, self::DATABASENAME);

        if (mysqli_connect_errno()) {
            trigger_error("Problem with connecting to database.");
        }

        $conn->set_charset("utf8");
        return $conn;
    }

    public function select($query, $argumentType = "", $argDataBunch = array())
    {
        $stmt = $this->conn->prepare($query);

        if (! empty($argumentType) && ! empty($argDataBunch)) {

            $this->bindQueryParams($stmt, $argumentType, $argDataBunch);
        }
        $stmt->execute();
        $result = $stmt->get_result();

        if ($result->num_rows > 0) {
            while ($row = $result->fetch_assoc()) {
                $resultset[] = $row;
            }
        }

        if (! empty($resultset)) {
            return $resultset;
        }
    }

    public function insert($query, $argumentType, $argDataBunch)
    {
        $stmt = $this->conn->prepare($query);
        $this->bindQueryParams($stmt, $argumentType, $argDataBunch);

        $stmt->execute();
        $insertId = $stmt->insert_id;
        return $insertId;
    }

    public function execute($query, $argumentType = "", $argDataBunch = array())
    {
        $stmt = $this->conn->prepare($query);

        if (! empty($argumentType) && ! empty($argDataBunch)) {
            $this->bindQueryParams($stmt, $argumentType, $argDataBunch);
        }
        $stmt->execute();
    }

    public function bindQueryParams($stmt, $argumentType, $argDataBunch = array())
    {
        $memberDataReference[] = & $argumentType;
        for ($i = 0; $i < count($argDataBunch); $i ++) {
            $memberDataReference[] = & $argDataBunch[$i];
        }
        call_customer_func_array(array(
            $stmt,
            'bind_param'
        ), $memberDataReference);
    }

    public function getRecordCount($query, $argumentType = "", $argDataBunch = array())
    {
        $stmt = $this->conn->prepare($query);
        if (! empty($argumentType) && ! empty($argDataBunch)) {

            $this->bindQueryParams($stmt, $argumentType, $argDataBunch);
        }
        $stmt->execute();
        $stmt->store_result();
        $recordCount = $stmt->num_rows;

        return $recordCount;
    }
}

assets/css/pakainfo-style.css

.pakainfo-container {
	-webkit-font-smoothing: antialiased;
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	font-size: .9em;
	color: #1e2a28;
	width: 740px;
	margin: 0 auto;
	padding: 0px 20px 20px 20px;
}

.pakainfo-container table {
	border-collapse: collapse;
	width: 100%;
	margin-bottom: 30px;
}

.pakainfo-container td, .pakainfo-container th {
	text-align: left;
	padding: 8px;
}

.pakainfo-container h1 {
	font-weight: normal;
}

input[type=text].pakainfo-input, .pakainfo-container input,
	.pakainfo-container textarea, .pakainfo-container select, .pakainfo-input,
	.pakainfo-select {
	box-sizing: border-box;
	width: 200px;
	height: initial;
	padding: 8px 5px;
	border: 1px solid #9a9a9a;
	border-radius: 3px;
}

.pakainfo-container input[type="checkbox"] {
	width: auto;
	vertical-align: text-bottom;
	display: initial;
	opacity: initial;
	position: inherit;
	pointer-events: initial;
}

.pakainfo-container textarea, .pakainfo-textarea {
	width: 300px;
}

.pakainfo-container select, .pakainfo-select {
	display: initial;
	height: 30px;
	background-color: #fff;
	padding: 2px 5px;
}

.pakainfo-container button {
	width: 100px;
	padding: 6px 0px;
	font-size: 1em;
	cursor: pointer;
	border-radius: 3px;
	background: #1871e6;
	color: #FFF;
	margin: 0px 20px 20px 0;
	border: #1469d8 1px solid;
}

.pakainfo-container button:focus {
	outline: none;
}

.pakainfo-container .pakainfo-row {
	padding-top: 15px;
}

#pakainfo-message {
	padding: 6px 20px;
	font-size: 1em;
	color: rgb(40, 40, 40);
	box-sizing: border-box;
	margin: 0px;
	border-radius: 3px;
	width: 100%;
	overflow: auto;
}

.pakainfo-container .error {
	padding: 6px 20px;
	border-radius: 3px;
	background-color: #fb817c;
	border: 1px solid #e46b66;
}

.pakainfo-container .success {
	background-color: #48e0a4;
	border: #40cc94 1px solid;
}

#pakainfo-loader-icon {
	color: #1871e6;
	font-weight: bold;
	padding: 6px 20px 6px 0;
	display: none;
	vertical-align: middle;
}

#pakainfo-loader-ack-icon {
	color: #1871e6;
	font-weight: bold;
	padding: 6px 20px 6px 0;
	display: none;
	vertical-align: middle;
}

#pakainfo-btn-send:hover {
	background: #1363cc;
	border: #105bbd 1px solid;
}

.pakainfo-container .validation-message {
	color: #e20900;
	display: inline-block;
}

.pakainfo-container .label {
	margin-bottom: 3px;
}

.pakainfo-form, .pakainfo-section {
	border: #eaeaea 1px solid;
	padding: 10px 25px 10px 30px;
	border-radius: 3px;
}

.pakainfo-container .display-none {
	display: none;
}

.icon-add-more-attachemnt {
	cursor: pointer;
	font-style: italic;
	font-size: .9em;
}

.inline-block {
	display: inline-block;
}

@media all and (max-width: 780px) {
	.pakainfo-container {
		width: auto;
	}
}

@media all and (max-width: 400px) {
	.pakainfo-container {
		padding: 0px 20px;
	}
	.pakainfo-container h1 {
		font-size: 1.2em;
	}
	.pakainfo-container input, .pakainfo-container textarea, .pakainfo-container select
		{
		width: 100%;
	}
	.pakainfo-form {
		border: none;
		padding: 0;
	}
}

assets/css/customer-registration.css

.register-container {
	border: 1px solid;
	border-color: #9a9a9a;
	background: #fff;
	border-radius: 4px;
	padding: 10px;
	width: 350px;
	margin: 50px auto;
}

.page-header {
	float: right;
}

.signin-added {
	margin: 10px;
	text-decoration: none;
	float: right;
}

.signin-added a {
	text-decoration: none;
	color: #000;
	font-weight: 700;
}

.added-heading {
	font-size: 2em;
	font-weight: bold;
	padding-top: 60px;
	text-align: center;
}

.inline-block {
	display: inline-block;
}

.row {
	margin: 15px 0px;
	text-align: center;
}

.form-label custom-point {
	margin-bottom: 5px;
	text-align: left;
}

input.input-box-330 {
	width: 250px;
}

.register-container .error {
	color: #ee0000;
	padding: 0px;
	background: none;
	border: #ee0000;
}

.register-container .error-field {
	border: 1px solid #d96557;
}

.register-container .error:before {
	content: '*';
	padding: 0 3px;
	color: #D8000C;
}

.error-msg {
	padding-top: 10px;
	color: #D8000C;
	text-align: center;
}

.success-msg {
    padding-top: 10px;
	color: #23a600;
	text-align: center;
}

input.register-btn {
	background-color: #ffb932;
	border-color: #ffc87a #e2a348 #da9d0a;
	text-align: center;
	cursor: pointer;
	color: #000;
	width: 250px
}

.added-align {
	margin: 0 auto;
}

.page-content {
	font-weight: bold;
	padding-top: 60px;
	text-align: center;
}

Web Programming Tutorials Example with Demo

Read :

  • Jobs
  • Make Money
  • Programming
Also Read This 👉   WooCommerce Get Linked Products

Summary

You can also read about AngularJS, ASP.NET, VueJs, PHP.

I hope you get an idea about php code for registration form with mysql database.
I would like to have feedback on my infinityknow.com blog.
Your valuable feedback, question, or comments about this article are always welcome.
If you enjoyed and liked this post, don’t forget to share.

Related posts:

  1. Create a Registration and Login System with PHP and MySQL
  2. jQuery Ajax Secure Login Registration System in PHP and MySQL
  3. Rregistration and login form in php and mysql with validation code free download
  4. PHP Server Side Form Validation | clear form after submit
  5. javascript Form validation Source code
  6. Responsive Registration Form in HTML and CSS Source Code [ 8+ elements ]
  7. Nodejs Login and Registration with PHP MySQL and SQLite Example
Also Read This 👉   Image Overlay Hover Effects With CSS3 Transitions
Complete User Registration system using PHP and MySQL databaseevent registration form php mysqlfaculty registration form in htmllogin and registration form in php using sessionlogin and registration form in php with mysqlLogin and Registration Script with PHP & MySQLLogin and Signup form using PHP and MySQL with validationphp code for registration form with databasephp code for registration form with mysql databasephp form validation example code downloadphp job application form source codePHP User Registration Form (Sign up) with MySQL Databasephp: complete Login and registration system with php & mysql downloadregistration and login form in php and mysql with validation code free downloadregistration form in phpregistration form query in sqlSecure Registration System with PHP and MySQLsimple registration form in php with validationstudent registration form in php and mysqlstudent registration form in php code with validationUser Registration in PHP with Login: Form with MySQL and Code Download

Post navigation

Previous Post:call to undefined function str_slug()
Next Post:laravel soft delete relationship Eloquent ORM

Advertise With Us

Increase visibility and sales with advertising. Let us promote you online.
Click Here
Guest Posting Sites

Write For Us

We’re accepting well-written informative guest posts and this is a great opportunity to collaborate.
Submit a guest post to [email protected]
Contact Us

Freelance web developer

Do you want to build a modern, lightweight, responsive website quickly?
Need a Website Or Web Application Contact : [email protected]
Note: Paid Service
Contact Me

Categories

3movierulz (64) Ajax (464) AngularJS (377) ASP.NET (61) Bio (109) Bollywood (108) Codeigniter (175) CSS (98) Earn Money (69) Education (61) Entertainment (130) fullform (86) Google Adsense (63) Highcharts (77) History (40) Hollywood (109) JavaScript (1357) Jobs (42) jQuery (1423) Laravel (1088) LifeStyle (53) movierulz4 (63) Mysql (1029) Mysqli (890) php (2121) Programming (2332) Python (97) Software (166) Software (88) Stories (98) tamilrockers (104) Tamilrockers kannada (64) Tamilrockers telugu (61) Tech (141) Technology (2392) Tips and Tricks (119) Tools (203) Top10 (477) Trading (89) Trending (71) VueJs (250) Web Technology (104) webtools (191) wordpress (166) World (322)

A To Z Full Forms

Access a complete full forms list with the meaning, definition, and example of the acronym or abbreviation.
Click Here
  • Home
  • About Us
  • Terms And Conditions
  • Write For Us
  • Advertise
  • Contact Us
  • Youtube Tag Extractor
  • Info Grepper
  • Guest Posting Sites
  • Increase Domain Authority
  • Social Media Marketing
  • Freelance web developer
  • Tools
Pakainfo 9-OLD, Ganesh Sco, Kothariya Ring Road, Chokadi, Rajkot - 360002 India
E-mail : [email protected]
Pakainfo

© 2023 Pakainfo. All rights reserved.

Top
Subscribe On YouTube : Download Source Code
We accept paid guest Posting on our Site : Guest Post Chat with Us On Skype Guest Posting Sites