php学习二

之前学习了php的一些基础知识,然后试着搭了一个简单的登陆注册的网站。环境是lamp,在搭建过程中有了很多的收获,算是对于php,mysql的第一个应用。

所有网页在/var/www,目录下。

我一共写了6个文件。先一一介绍一下:

1.Login.html:

就是打开网站的登陆界面,包括用户名和密码,登陆和注册。代码如下:

<html>
<head>
<title>Login</title>
<style>
a:link {text-decoration:none;}
</style>
</head>
<body>
<table width="700" height="100%" align="center">
<tr>
<td>
<form align="center" action="http://192.168.64.128/Login.php" method="post">
Username:<input type="text" name="Username" />
<br><br>
Password:<input type="password" name="Password" />
<br><br> 
<input type="submit" value="Submit" />
<a href="http://192.168.64.128/Register.html" target="_blank"><input type="button" value="Register" /></a>
</form>
</td>
</tr>
</body>
</html>


<img src="https://img-blog.csdn.net/20140823160819781?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamlhMzA0MzQ5MTQ1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);" />
知识点:①用CSS制定了链接的样式没有下划线。

②如何将网页的内容放置在整个网页的正中央:在form的外面再加一个表格。属性align规定放置位置,等于center就是居中显示。

③form的action属性的作用是当用户提交表单的时候将信息提交到哪里,指定一个url。这里是提交到了login.php(用于检查用户名和密码是否正确),method是规定以何种方式提交。有两种方式get和post。get有安全问题,一般涉及到隐私的东西,如密码等,用post来提交。

④就是在页面中设置一个按钮是type=submit和button的区别。等于submit会提交表单的数据,而等于button不会提交表单数据。

⑤想要点击一个按钮就实现页面的跳转,可以在按钮的外面添加链接。标签<a>中target="_blank"的作用是点击链接之后会在新的标签中打开链接,而不会在本页面跳转。

2.Register.html:

注册页面,包括用户名,密码和再输一次密码。

<html>
<head>
<title>Register</title>
<head>
<body>
<table width="760" height="100%" align="center">
<tr>
<td>
<form align="center" οnsubmit="return checkPW()" action="http://127.0.0.1/Register.php" method="post">
Username:<input type="text" name="Username" />
<br/><br/>
Password:<input id="P1" type="password" name="Password" />
<br/><br/>
Input you password again:<input id="P2" type="password" name="Password2" />
<br/><br/>
<input type="submit" name="register" value="Register"/>
</form>
<script>
function checkPW()
{
	P1=document.getElementById("P1").value;
	P2=document.getElementById("P2").value;
	if(P1!=P2)
	{
		alert("The two passwords do not match!");
		return false;
	}
	return ture;
}
</script>
</td>
</tr>
</body>
</html>



知识点:①要注意的就是如何如何写如果两个密码不一致的情况,当两次密码输入不一致的时候就会显示提交信息然后不会提交表单。这里是用了JS来实现的写了一个函数。

②form中onsubmit属性:http://blog.csdn.net/wanghuan203/article/details/7220540详见此篇博客。就是说onsubmit值为false就不会提交表单,如果只为ture就会提交表单。注意不能写οnsubmit="checkPW()";如果这样写,表单一直是提交成功的。

3.创建数据库creatDatabase.php

<?php
$con = mysqli_connect("127.0.0.1","root","19930126liujia");
if(mysqli_connect_errno())
{
	echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

//Creat database
$sql="CREATE DATABASE my_db";
mysqli_query($con,$sql);
?>

4.在数据库中创建表creatTable.php

<?php
$con = mysqli_connect("127.0.0.1","root","19930126liujia","my_db");
if(mysqli_connect_errno())
{
	echo "Failed to connect to Mysql: " . mysqli_connect_error();
}

$sql = "CREATE TABLE Users
(
	PID INT NOT NULL AUTO_INCREMENT,
	PRIMARY KEY(PID),
	Username CHAR(30),
	Password CHAR(30)
)";
mysqli_query($con,$sql)
?>

创建了一个有用户名和密码的表Users。

5.Register.php

当用户注册成功时,提交到此页面,写入数据库。

<html>
<head>
<title>Registration successful</title>
</head>
<body>
<h1>Registraction successful!</h1>
<?php
$con=mysqli_connect("127.0.0.1","root","19930126liujia","my_db");
if(mysqli_connect_errno())
{
echo "Failed to connect to Mysql: " . mysqli_connect_error();
}

$sql="INSERT INTO Users (Username, Password)
VALUES
('$_POST[Username]','$_POST[Password2]')";
if(!mysqli_query($con,$sql))
{
	die('Error: ' . mysqli_error($con));
}
?>

</body>
</html>



6.Login.php

点击登录按钮后,会跳转到此页面,从数据库中提取数据,如果用户名和密码匹配,则显示登录成功,否则重新登录。

<?php
$Username=$_POST['Username'];
$Password=$_POST['Password'];
$con=mysqli_connect("127.0.0.1","root","19930126liujia","my_db");
if(mysqli_connect_errno())
{
	echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result=mysqli_query($con,"SELECT * FROM Users WHERE Username='$Username'");
if($row=mysqli_fetch_array($result))
{
	if($Password == $row['Password'])
		echo "Congratulations!Login is successful!";
	else
	{
		echo "Sorry!The password you entered is incorrect!<br>";
		echo "<br/>";
		echo "Please click here to try again:";
		exit("<a href='http://127.0.0.1/Login.html'>Relogin</a>");
	}
}
else
{
	echo "Your username is wrong!";
}
?>
①登陆成功:

②密码错误:


③用户名输入错误:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值