Bootstrap 结合 PHP ,做简单的登录以及注册界面及功能

Stella981 等级 329 0 0
标签: phppostalertform

登录实现

HTML代码

<div class="container">
        <?php if (isset($error_msg)): ?>
        <div class="alert alert-danger" role="alert"><?php echo $error_msg; ?></div>
        <?php endif ?>
        <?php if (isset($success_msg)): ?>
        <div class="alert alert-info" role="alert"><?php echo $success_msg; ?></div>
        <?php endif ?>
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" autocomplete="on">
            <div class="form-group">
                <label for="administrator">管理员账号(11位手机号码)</label>
                <input type="number" class="form-control" name="administrator" id="administrator" value="<?php echo isset($_POST['administrator']) ? $_POST['administrator'] : ''; ?>">
            </div>
            <div class="form-group">
                <label for="password">密码</label>
                <input type="password" class="form-control" name="password" id="password">
            </div>
            <button class="btn btn-info btn-md btn-block">登录</button>
        </form>
    </div>

CSS:

<link rel="stylesheet" type="text/css" href="css/Bootstrap.css">
    <style type="text/css">
        .container {
            margin-top: 150px;
        }
    </style>

PHP:

function login () {
    if (empty($_POST['administrator'])) {
        $GLOBALS['error_msg'] = '请输入管理员账号';
        return;
    }
    if (strlen($_POST['administrator']) !== 11) {
        $GLOBALS['error_msg'] = '您输入的管理员账号不符合相关规定';
        $_POST['administrator'] = '';
        return;
    }
    if (empty($_POST['password'])) {
        $GLOBALS['error_msg'] = '请输入密码';
        return;
    }

    $connection = mysqli_connect('localhost', 'root', '密码', 'students_info_system');

    if (!$connection) {
        $GLOBALS['error_msg'] = '连接数据库失败';
        return;
    }

    $query = mysqli_query($connection, 'select * from administrators');

    if (!$query) {
        $GLOBALS['error_msg'] = '查询数据失败';
        return;
    }

    while ($administrator = mysqli_fetch_assoc($query)) {
        $administrators[] = $administrator;
    }
    // var_dump($administrators);

    for ($i = 0; $i < count($administrators); $i++) {
        $administrator[] = $administrators[$i]['administrator'];
        $passwords[] = $administrators[$i]['password'];
    }

    // var_dump($administrator);
    // var_dump($passwords);

    if (!in_array((string)$_POST['administrator'], $administrator)) {
        $GLOBALS['error_msg'] = '您输入的管理员账号不存在';
        return;
    }

    if (!in_array((string)$_POST['password'], $passwords)) {
        $GLOBALS['error_msg'] = '密码错误';
        return;
    }

    // 账号和密码都存在了----判断密码和账号与数据库中是否一致
    $index = array_search($_POST['administrator'], $administrator);
    if ((string)$_POST['password'] !== $passwords[$index]) {
        $GLOBALS['error_msg'] = '密码错误';
        return;
    }

    // 在数据库找到了相应的账号和密码
    $GLOBALS['success_msg'] = '登录成功';

    // 延时2秒执行后面的代码
    time_sleep_until(time() + 2);

    // 跳转到内容页面(并将账号一并传过去,区分用户账号以显示各个用户对应的界面)
    header("Location: student_info.php?id={$_POST['administrator']}");
}

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    login();
}

注册实现

HTML:

<div class="container">
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" complete="on">
            <?php if (isset($error_msg)): ?>
            <div class="alert alert-danger" role="alert"><?php echo $error_msg; ?></div>
            <?php endif ?>
            <?php if (isset($success_msg)): ?>
            <div class="alert alert-info" role="alert"><?php echo $success_msg; ?></div>
            <?php endif ?>
            <div class="form-group">
                <label for="administrator">管理员账户(11位手机号码即可)</label>
                <input type="number" class="form-control" name="administrator" id="administrator" value="<?php echo isset($_POST['administrator']) ? $_POST['administrator'] : ''; ?>">
            </div>
            <div class="form-group">
                <label for="password">密码</label>
                <input type="password" name="password" id="password" class="form-control" value="<?php echo isset($_POST['password']) ? $_POST['password'] : ''; ?>">
            </div>
            <div class="form-group">
                <label for="check-pwd">确认密码</label>
                <input type="password" name="check-pwd" id="check-pwd" class="form-control">
            </div>
            <button class="btn btn-info btn-block btn-md">注册</button>
        </form>
    </div>

CSS:

<link rel="stylesheet" type="text/css" href="css/Bootstrap.css">
    <style type="text/css">
        .container {
            margin-top: 100px;
        }
    </style>

PHP:

function register () {
    $connection = mysqli_connect('localhost', 'root', '密码', 'students_info_system');

    if (!$connection) {
        $GLOBALS['error_msg'] = '连接数据库失败';
        return;
    }

    $query = mysqli_query($connection, 'select * from administrators');

    if (!$query) {
        $GLOBALS['error_msg'] = '查询数据失败';
        return;
    }

    while ($administrator = mysqli_fetch_assoc($query)) {
        $administrators[] = $administrator;
    }
    // var_dump($administrators);

    // 获取数据库中已经注册的账号
    for ($i = 0; $i < count($administrators); $i++) {
        $administrator[] = $administrators[$i]['administrator'];
    }

    if (empty($_POST['administrator'])) {
        $GLOBALS['error_msg'] = '请输入管理员账户';
        return;
    }
    if (strlen($_POST['administrator']) !== 11) {
        $GLOBALS['error_msg'] = '您输入的管理员账户不符合相关规定,请重新输入';
        $_POST['administrator'] = '';
        return;
    }
    // 判断该账号是否已被注册
    if (in_array($_POST['administrator'], $administrator)) {
        $GLOBALS['error_msg'] = '该账号已被注册,请另起账号';
        return;
    }
    if (empty($_POST['password'])) {
        $GLOBALS['error_msg'] = '请输入密码';
        return;
    }
    if (empty($_POST['check-pwd'])) {
        $GLOBALS['error_msg'] = '请确认密码';
        return;
    }
    if ($_POST['check-pwd'] !== $_POST['password']) {
        $GLOBALS['error_msg'] = '两次密码输入不一致,请重新确认密码';
        return;
    }

    $administrator = $_POST['administrator'];
    $password = $_POST['password'];$query = mysqli_query($connection, "insert into administrators values ({$administrator}, '{$password}')");

    if (!$query) {
        $GLOBALS['error_msg'] = '查询数据失败';
        return;
    }

    $affected_rows = mysqli_affected_rows($query);

    if ($affected_rows !== 1) {
        $GLOBALS['error_msg'] = '插入数据失败';
    }

    $GLOBALS['success_msg'] = '注册成功';

    // 延时2秒执行后面的语句
    time_sleep_until(time() + 2);

    header('Location: index.html');
    
}

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    register();
}
收藏
评论区

相关推荐

PHP POST 接受长字符串时出现500错误
昨天在开发的时候遇到一个问题,form entype=“multipart/form-data” 表单提交时显示500错误。 开始我以为是php代码问题,我检查了一遍代码,没有问题。 之后设置断点,依旧报错500,这就说明断点代码就没有执行,表单提交动作根本没有触发后端的php代码。 于是,我将注意力放在了php配置上,反复修改配置调试,而且重装了php依
PHP之微信JSSDK图片上传预览下载到服务器
1.投票报名 ![PHP之微信JSSDK图片上传预览下载到服务器](http://www.zhimengzhe.com/d/file/shujuku/rontcpmvppy.png) 主要实现报名功能 (1)form表单布局 <section class="content"> <div id="errormsg"
PHP大会分享《MySQL 5.7优化不求人》
2017年6月10日,第三届PHP全球开发者大会在北京亚洲大酒店举办,现场云集了近千名的PHP开发者及PHP界的大牛,这是一场关于PHP语言的技术盛宴。 这是叶老师第二次在这个大会上做分享了,去年的分享主题是《[**程序猿都该知道的MySQL秘籍**](https://www.oschina.net/action/GoToLink?url=http
TARS于“中国PHP大会”首次全面发布PHP版本
2018年5月19日,在上海举行的第六届中国PHP开发者大会(PHPCon)上,TARS开源项目核心开发者梁晨(Ted)对PHP如何通过TARS构建高性能RPC框架做了经验分享,并首次全面发布了TARS的PHP版本。 “现有PHP的开发生态,至少要做到功能完善、灵活、轻量和高效。 ”梁晨提道。他在分享中介绍了高性能RPC框架TARS的基本设计思想,
PHP实现图片(文件)上传
这几天整理做过的php项目,感觉这个经常会用到,传上来共享一下咯 首先,前端界面 1、表单的首行需要加上enctype="multipart/form-data",需要上传的图片必须设置 type="file"表示选择文件 <form id="img_form" method="post" class="form-horizontal" r
PHP的性能优化方法总结
![](https://six.club/image/show/attachments-2020-10-rwbBlasg5f9b6ed2994d9.png) 什么情况之下,会遇到PHP性能问题? 1:PHP语法使用不恰当。 2:使用PHP语言做了它不擅长的事情。 3:使用PHP语言连接的服务不给力。 4:PHP自身的短板(PHP自身做不了的事情)。
PHP程序员最易犯10种错误
PHP是个伟大的web开发语言,灵活的语言,但是看 到php程序员周而复始的犯的一些错误。我做了下面这个列表,列出了PHP程序员经常犯的10中错误,大多数和安全相关。看看你犯了几种 1.不转意html entities ------------------ 一个基本的常识:所有不可信任的输入(特别是用户从 form中提交的数据) ,输出之前都要转意。
TARS于“中国PHP大会”首次全面发布PHP版本
2018年5月19日,在上海举行的第六届中国PHP开发者大会(PHPCon)上,TARS开源项目核心开发者梁晨(Ted)对PHP如何通过TARS构建高性能RPC框架做了经验分享,并首次全面发布了TARS的PHP版本。 “现有PHP的开发生态,至少要做到功能完善、灵活、轻量和高效。 ”梁晨提道。他在分享中介绍了高性能RPC框架TARS的基本设计思想,
2019php面试大全
一 、PHP基础部分 1、PHP语言的一大优势是跨平台,什么是跨平台? PHP的运行环境最优搭配为Apache+MySQL+PHP,此运行环境可以在不同操作系统(例如windows、Linux等)上配置,不受操作系统的限制,所以叫跨平台 2、WEB开发中数据提交方式有几种?有什么区别?百度使用哪种方式? Get与pos
2019php面试大全
一 、PHP基础部分 1、PHP语言的一大优势是跨平台,什么是跨平台? PHP的运行环境最优搭配为Apache+MySQL+PHP,此运行环境可以在不同操作系统(例如windows、Linux等)上配置,不受操作系统的限制,所以叫跨平台 2、WEB开发中数据提交方式有几种?有什么区别?百度使用哪种方式? Get与pos
Bootstrap 结合 PHP ,做简单的登录以及注册界面及功能
登录实现 ==== HTML代码 <div class="container"> <?php if (isset($error_msg)): ?> <div class="alert alert-danger" role="alert"><?php echo $error_msg; ?></div>
CentOS 6.4 安装 media wiki 1.23.6(转)
准备: === CentOS 6.4系统及Root或者sudo权限,系统正常连接网络 使用到的软件: ======= apache ,mysql-server ,php ,mediawiki ,memcached 软件包的安装 ====== 首先,需要安装apache, php, mysql-server, mysql-client等相关软件包
Jfinal文件上传
1\. 给form添加 enctype="multipart/form-data" 属性,如下: <form id="form" action="/fileController/upload" method="post" enctype="multipart/form-data" > <input type="file" name="f
PHP导入导出EXCELl,CSV
PHP导入导出Excel,CSV ---------------- HTML ---- <form action="{:U('Admin/Unit/importcsv')}" method="post" name="myform" id="myform" enctype="multipart/form-data"> <input
PHP操作mysql数据库
PHP向MySQL发送数据、PHP操作MySQL数据库是重点中的重点。 为大家举一些例子: 1. 要注册一个用户,是将表单的数据POST发送给PHP写入数据库 2. 购买一个商品,是将商品信息和用户信息通过PHP写入到数据库 3. 在线付费,是将用户的充值信息通过PHP写入数据库 4. 修改头像上传的头像地址得到后,通过PHP修改数据库里头像字段