php代码登录注册

郑小三   ·   发表于 2024-07-27 16:19:42   ·   学习杂记

phplinux登录注册流程
前置条件:
a.安装虚拟机;
https://blog.csdn.net/weixin_74195551/article/details/127288338
b.安装apache中间件:
安装命令:dnf -y install httpd*
启动命令:systemctl start httpd
自启命令:systemctl enable httpd
c.安装数据库:
rpm -qa | grep mysql
实现过程:

  1. 打开VM虚拟机,准备好测试机器 ;
    2.在物理机中的浏览器访问虚拟机IP地址,如果能访问成功,则说明成功安装好了apache,可以看到以下页面:

apache安装成功页面
如果未安装apache,则需要执行此命令进行安装:yum insatll httpd;
3.打开虚拟机,cd进入到/var/www/html目录,创建一个html文件,这个文件是用来输入用户名和密码、注册等操作的:vi login.html (login.html是文件名)
4.按下回车键,进入编辑页面输入以下代码:

CTYPE html>


    登录注册


    <h1>用户登录</h1>
     #login.php是登录文件的名字,用于编辑登录代码使用
        <label>用户名:</label>
        <br><br>
        <label>密码:</label>
        <br><br>



    <h1>用户注册</h1>
      #register.php是注册文件的名字,要记好,稍后用于编辑注册代码使用
        <label>用户名:</label>
        <br><br>
        <label>密码:</label>
        <br><br>

最后按下ESC键输入冒号wq保存退出;
5.创建好这个登录页面后,在物理机浏览器中输入:虚拟机IP地址/login.html;查看是否正常输出页面;
登录页面
6.登录页面有了,正常的页面逻辑肯定是输入正确的用户名和密码,登录成功,输入错误的用户名和密码,登录失败;判断用户名和密码是否正确,那就要看用户名和密码是否在数据库中存在;提前装好数据库且登录到数据库中:
1).创建数据库:
CREATE DATABASE 数据库名;
2).创建数据表users并且设置id、username(用户名)、password(密码)
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL
);
7.登录代码编写:
vi login.php #这个文件名一定要和前面html文件中的一致

<?php
// 连接到数据库
$servername = "localhost"; #修改成虚拟机地址也可以不修改
$username = "root";
$password = "password";  #修改成数据库密码
$dbname = "mydb";  #修改成创建好的数据库名字:users
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接是否成功
if ($conn->connect_error) {
    die("连接失败: " . $conn-&gt;connect_error);
}
// 处理登录请求
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $username = $_POST["username"];
    $password = $_POST["password"];

    $sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
    $result = $conn-&gt;query($sql);

    if ($result-&gt;num_rows &gt; 0) {
        $_SESSION['username'] = $username;
        echo "登录成功!";
    } else {
        echo "用户名或密码错误!";
    }
}
// 关闭数据库连接
$conn-&gt;close();
?&gt;

按下ESC键输入冒号:wq保存并退出;
8.有了登录逻辑,还要有注册逻辑:
vi register.php #这个文件名一定要和前面html文件中的一致

<?php
// 连接到数据库
$servername = "localhost";
$username = "root";
$password = "password";#修改成数据库密码
$dbname = "mydb";#修改成创建好的数据库名字
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接是否成功
if ($conn->connect_error) {
    die("连接失败: " . $conn-&gt;connect_error);
}
// 处理注册请求
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $username = $_POST["username"];
    $password = $_POST["password"];

    $sql = "INSERT INTO users (username, password) VALUES ('$username', '$password')";

    if ($conn-&gt;query($sql) === TRUE) {
        echo "注册成功!";
    } else {
        echo "注册失败: " . $conn-&gt;error;
    }
}
// 关闭数据库连接
$conn-&gt;close();
?&gt;

按下ESC键输入冒号:wq保存并退出
9.在物理机浏览器中输入虚拟机ip地址/login.html注册输入用户名和密码,查看是否注册成功,注册成功后登录一下看看能不能登录成功!
我在以上步骤中遇到过以下问题:
1.代码复制错误产生报错
报错
2.httpd默认连接权限不开启错误,一开始以为是数据库权限不够,给数据库提权了还是不行,经过王妈指导才解决的;解决命令:
setsebool -P httpd_can_network_connect=1
连接失败

打赏我,让我更有动力~

1 条回复   |  直到 1个月前 | 150 次浏览

Track-魔方
发表于 1个月前

同学,作业请写到作业专版哈,不要写到文章投稿区哈

评论列表

  • 加载数据中...

编写评论内容
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.