This article mainly introduces the method of realizing registration and login interface in PHP. Interested friends can refer to it. I hope it will be helpful to everyone.
At first I thought the two functions of registration and login on a website were magical. Later, I did some research and found that the truth is actually very simple. Let’s take a look at how to implement it. . . .
I created several files on my computer:
login.html (login page)
register.html (Registration page)
success.html (Login success redirect page)
return.html (Registration success page )
login.php
register.php
Login interface and registration interface and success.html are combined There is no
, everything is just some html tags as follows:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>登录界面</title> </head> <body> <form method="post" action="login.php"> 账号: <input type="text" name="usernamel"><br/><br/> 密码: <input type="password" name="passwordl"> <input type="submit" value="登录" name="subl"> <a href="http://127.0.0.1:8080/register.html">没有账号,注册</a> </form> </body> </html>
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>会员注册</title> </head> <body> <form method="post" action="register.php"> 账 户: <input type="text" name="username"><br/><br/> 密 码: <input type="password" name="password"><br/><br/> 密码确认: <input type="password" name="password2"> <input type="submit" value="注册" name="sub"> </form> </body> </html>
return.html is the page that appears after successful registration. There is a js code in it that is used to return to the login interface regularly
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> </head> <body> 注册成功!<br/> 5秒后返回登录界面<br/> 你也可以直接点击回到<a href="http://127.0.0.1:8080/login.html">登录页面</a> <script type="text/javascript"> setTimeout("ren()",5000); function ren() { window.location="http://127.0.0.1:8080/login.html"; } </script> </body> </html>
register.php It is the background page corresponding to the registration page
<?php $link=mysql_connect("localhost","root","207207");//链接数据库 header("Content-type:text/html;charset=utf-8"); if($link) { //echo"链接数据库成功"; $select=mysql_select_db("login",$link);//选择数据库 if($select) { //echo"选择数据库成功!"; if(isset($_POST["sub"])) { $name=$_POST["username"]; $password1=$_POST["password"];//获取表单数据 $password2=$_POST["password2"]; if($name==""||$password1=="")//判断是否填写 { echo"<script type="."\""."text/javascript"."\"".">"."window.alert"."("."\""."请填写完成!"."\"".")".";"."</script>"; echo"<script type="."\""."text/javascript"."\"".">"."window.location="."\""."http://127.0.0.1:8080/register.html"."\""."</script>"; exit; } if($password1==$password2)//确认密码是否正确 { $str="select count(*) from register where username="."'"."$name"."'"; $result=mysql_query($str,$link); $pass=mysql_fetch_row($result); $pa=$pass[0]; if($pa==1)//判断数据库表中是否已存在该用户名 { echo"<script type="."\""."text/javascript"."\"".">"."window.alert"."("."\""."该用户名已被注册"."\"".")".";"."</script>"; echo"<script type="."\""."text/javascript"."\"".">"."window.location="."\""."http://127.0.0.1:8080/register.html"."\""."</script>"; exit; } $sql="insert into register values("."\""."$name"."\"".","."\""."$password1"."\"".")";//将注册信息插入数据库表中 //echo"$sql"; mysql_query($sql,$link); mysql_query('SET NAMES UTF8'); $close=mysql_close($link); if($close) { //echo"数据库关闭"; //echo"注册成功!"; echo"<script type="."\""."text/javascript"."\"".">"."window.location="."\""."http://127.0.0.1:8080/return.html"."\""."</script>"; } } else { echo"<script type="."\""."text/javascript"."\"".">"."window.alert"."("."\""."密码不一致!"."\"".")".";"."</script>"; echo"<script type="."\""."text/javascript"."\"".">"."window.location="."\""."http://127.0.0.1:8080/register.html"."\""."</script>"; } } } } ?>
login.php login interface corresponding to the background file
<?php header("Content-type:text/html;charset=utf-8"); $link=mysql_connect("localhost","root","207207"); if($link) { $select=mysql_select_db("login",$link); if($select) { if(isset($_POST["subl"])) { $name=$_POST["usernamel"]; $password=$_POST["passwordl"]; if($name==""||$password=="")//判断是否为空 { echo"<script type="."\""."text/javascript"."\"".">"."window.alert"."("."\""."请填写正确的信息!"."\"".")".";"."</script>"; echo"<script type="."\""."text/javascript"."\"".">"."window.location="."\""."http://127.0.0.1:8080/login.html"."\""."</script>"; exit; } $str="select password from register where username="."'"."$name"."'"; mysql_query('SET NAMES UTF8');20 $result=mysql_query($str,$link); $pass=mysql_fetch_row($result); $pa=$pass[0]; if($pa==$password)//判断密码与注册时密码是否一致 { echo"登录成功!"; echo"<script type="."\""."text/javascript"."\"".">"."window.location="."\""."http://127.0.0.1:8080/success.html"."\""."</script>"; } { echo"<script type="."\""."text/javascript"."\"".">"."window.alert"."("."\""."登录失败!"."\"".")".";"."</script>"; echo"<script type="."\""."text/javascript"."\"".">"."window.location="."\""."http://127.0.0.1:8080/login.html"."\""."</script>"; } } } } ?>
I still have a lot to improve when I have nothing to do. You are welcome to ask questions and discuss and provide easier methods!
Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study. At the same time, I also hope that everyone will support the PHP Chinese website.
Related recommendations:
phpGraphic tutorial on using namespace (with code)
PHP ajax implementation Province and city linkage function
phpDetailed explanation of namespace usage
The above is the detailed content of How to implement registration and login interface in php. For more information, please follow other related articles on the PHP Chinese website!

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

TomakePHPapplicationsfaster,followthesesteps:1)UseOpcodeCachinglikeOPcachetostoreprecompiledscriptbytecode.2)MinimizeDatabaseQueriesbyusingquerycachingandefficientindexing.3)LeveragePHP7 Featuresforbettercodeefficiency.4)ImplementCachingStrategiessuc

ToimprovePHPapplicationspeed,followthesesteps:1)EnableopcodecachingwithAPCutoreducescriptexecutiontime.2)ImplementdatabasequerycachingusingPDOtominimizedatabasehits.3)UseHTTP/2tomultiplexrequestsandreduceconnectionoverhead.4)Limitsessionusagebyclosin

Dependency injection (DI) significantly improves the testability of PHP code by explicitly transitive dependencies. 1) DI decoupling classes and specific implementations make testing and maintenance more flexible. 2) Among the three types, the constructor injects explicit expression dependencies to keep the state consistent. 3) Use DI containers to manage complex dependencies to improve code quality and development efficiency.

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Dreamweaver Mac version
Visual web development tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

WebStorm Mac version
Useful JavaScript development tools

Zend Studio 13.0.1
Powerful PHP integrated development environment
