昨天下午登录了论坛,看到了子羽老师的留言,所以想要把上次的作业完善一下。然后跟着思路不断地去写,写了一下午,想着论坛有自动保存然后就把论坛挂在电脑上,但是就今天打开之后发现昨天写的文章没有了,把这个问题反馈一下,像我这种懒癌真的很希望这一块得到改进。望采纳。
1.PHP对于分号很敏感,每一次代码结束都需要加,不然就会出现各种奇奇怪怪的报错。
2.登录和注册写在一个页面需要使用isset,使用isset判断是登录或注册的传参,从而选择性执行代码,不使用isset写在一起会因为未接受到传参报错,实例。if(isset($_POST['logon'])){
文件名logon.html登录页面:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
</head>
<body>
<meta charset="UTF-8"/>
<form action="./login.php" method="post">
账号:<input type="text" name="logonusername" required="required"/><br />
密码:<input type="password" name="logonpassword" required="required"/><br />
<input type="submit" name="logon" value="登录"/>
<a href="signup.html"><input type="button"id="" value="注册" /></a>
</form>
</body>
</html>
文件名signup.html注册页面:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
</head>
<body>
<form action="./login.php" method="post">
账号:<input type="text" name="signupusername" required="required"/><br />
密码:<input type="password" name="siguppassword" required="required" /><br />
<input type="submit" name="signup" value="注册"/>
<a href="logon.html"><input type="button" name="" id="" value="返回登录" /></a>
</form>
</body>
</html>
文件名login.php后端代码:
<?php
if(isset($_POST['logon'])){
$logonuser =$_POST['logonusername'];
$logonpas = $_POST['logonpassword'];
$conn = mysqli_connect('127.0.0.1','root','root','admin');
$sql = "select * from user where username = '$logonuser' and password = '$logonpas'";
$result = mysqli_query($conn,$sql);
$num = mysqli_fetch_array($result);
if($num['username'] == $logonuser){
echo "<script>alert('登录成功')";
echo"";
echo"var a=confirm('返回登录页面?');";
echo"if(a==true){history.back();}";
echo"";
}else{
echo "alert('登录失败,帐号或密码错误')";
echo"";
echo"var a=confirm('返回登录页面?');";
echo"if(a==true){history.back();}";
echo"";
}
}else{
$loginuser =$_POST['signupusername'];
$loginpas =$_POST['siguppassword'];
$conn = mysqli_connect('127.0.0.1','root','root','admin');
$sql = "insert into user values('$loginuser','$loginpas')";
$result = mysqli_query($conn,$sql);
echo "alert('注册成功')";
echo"";
echo"var a=confirm('返回注册页面?');";
echo"if(a==true){history.back();}";
echo"";
}
?>
效果展示:
提示框的提示内容分别是:注册成功、登录成功、返回注册页面?返回登录页面?
库名为admin,表名为user,字段名为username,password。
欢迎学习交流。
ps,我写了一下午说没就没,也没什么心情继续写下去了,突然想起聂风老师的一句话,安全和用户体验是呈反比的。
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.