当前位置: 首页 > news >正文

网站搭建作业

搭建作业的流程:

<?php
// 初始化变量
$error = '';
$success = '';

// 处理登录逻辑
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // 获取用户输入
    $username = $_POST['username'] ?? '';
    $password = $_POST['password'] ?? '';

    // 基本验证
    if (empty($username) || empty($password)) {
        $error = "用户名和密码不能为空!";
    } else {
        // 连接数据库
        $conn = new mysqli('localhost', 'root', 'password', 'your_database');
        if ($conn->connect_error) {
            die("连接失败: " . $conn->connect_error);
        }

        // 防止SQL注入
        $username = $conn->real_escape_string($username);

        // 查询用户信息
        $query = "SELECT * FROM users WHERE username = '$username'";
        $result = $conn->query($query);

        if ($result->num_rows > 0) {
            $user = $result->fetch_assoc();
            // 验证密码
            if (password_verify($password, $user['password'])) {
                // 登录成功
                session_start();
                $_SESSION['user_id'] = $user['id']; // 假设用户表中有id字段
                $_SESSION['username'] = $user['username'];
                $success = "登录成功!";
                header("Location: welcome.php"); // 跳转到欢迎页面
                exit();
            } else {
                $error = "密码错误!";
            }
        } else {
            $error = "用户名不存在!";
        }

        $conn->close();
    }
}



// 如果是注册页面提交,验证密码强度
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['password'])) {
    $passwordErrors = validatePassword($_POST['password']);
    if (!empty($passwordErrors)) {
        $error = implode(", ", $passwordErrors);
    }
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>用户登录</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            background-color: #f4f4f4;
        }
        .container {
            background: #fff;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        }
        .form-group {
            margin-bottom: 15px;
        }
        .form-group label {
            display: block;
            margin-bottom: 5px;
        }
        .form-group input {
            width: 100%;
            padding: 8px;
            border: 1px solid #ccc;
            border-radius: 4px;
        }
        .form-group input[type="submit"] {
            background: #28a745;
            color: #fff;
            border: none;
            cursor: pointer;
        }
        .form-group input[type="submit"]:hover {
            background: #218838;
        }
        .error {
            color: red;
        }
        .success {
            color: green;
        }
    </style>
</head>
<body>
    <div class="container">
        <h2>用户登录</h2>
        <?php if ($error): ?>
            <div class="error"><?php echo $error; ?></div>
        <?php endif; ?>
        <?php if ($success): ?>
            <div class="success"><?php echo $success; ?></div>
        <?php endif; ?>
        <form method="POST" action="">
            <div class="form-group">
                <label for="username">用户名</label>
                <input type="text" id="username" name="username" value="<?php echo htmlspecialchars($username ?? ''); ?>">
            </div>
            <div class="form-group">
                <label for="password">密码</label>
                <input type="password" id="password" name="password">
            </div>
            <div class="form-group">
                <input type="submit" value="登录">
            </div>
        </form>
        <p>还没有账号?<a href="register.php">立即注册</a></p>
    </div>
</body>
</html>
<?php
// 处理注册逻辑
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // 获取用户输入
    $username = $_POST['username'] ?? '';
    $password = $_POST['password'] ?? '';
   
    // 基本验证
    if (empty($username) || empty($password) ) {
        $error = "所有字段都是必填的!";

    } else {
        $conn = new mysqli('localhost', 'root', 'password', 'your_database');
        if ($conn->connect_error) {
            die("连接失败: " . $conn->connect_error);
        }

        // 防止SQL注入
        $username = $conn->real_escape_string($username);
        $password = password_hash($password, PASSWORD_DEFAULT); // 加密密码
        $email = $conn->real_escape_string($email);

        // 检查用户名是否已存在
        $checkUser = $conn->query("SELECT * FROM users WHERE username='$username'");
        if ($checkUser->num_rows > 0) {
            $error = "用户名已存在!";
        } else {
            // 插入用户数据
            $sql = "INSERT INTO users (username, password, email) VALUES ('$username', '$password', '$email')";
            if ($conn->query($sql) === TRUE) {
                $success = "注册成功!";
            } else {
                $error = "注册失败: " . $conn->error;
            }
        }
        $conn->close();
    }
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>用户注册</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            background-color: #f4f4f4;
        }
        .container {
            background: #fff;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        }
        .form-group {
            margin-bottom: 15px;
        }
        .form-group label {
            display: block;
            margin-bottom: 5px;
        }
        .form-group input {
            width: 100%;
            padding: 8px;
            border: 1px solid #ccc;
            border-radius: 4px;
        }
        .form-group input[type="submit"] {
            background: #28a745;
            color: #fff;
            border: none;
            cursor: pointer;
        }
        .form-group input[type="submit"]:hover {
            background: #218838;
        }
        .error {
            color: red;
        }
        .success {
            color: green;
        }
    </style>
</head>
<body>
    <div class="container">
        <h2>用户注册</h2>
        <?php if (isset($error)): ?>
            <div class="error"><?php echo $error; ?></div>
        <?php endif; ?>
        <?php if (isset($success)): ?>
            <div class="success"><?php echo $success; ?></div>
        <?php endif; ?>
        <form method="POST" action="">
            <div class="form-group">
                <label for="username">用户名</label>
                <input type="text" id="username" name="username" value="<?php echo htmlspecialchars($username ?? ''); ?>">
            </div>
            <div class="form-group">
                <label for="password">密码</label>
                <input type="password" id="password" name="password">
            </div>
            <div class="form-group">
                <label for="email">电子邮件</label>
                <input type="email" id="email" name="email" value="<?php echo htmlspecialchars($email ?? ''); ?>">
            </div>
            <div class="form-group">
                <input type="submit" value="注册">
            </div>
        </form>
    </div>
</body>
</html>
<?php
$SELF_PAGE = substr($_SERVER['PHP_SELF'],strrpos($_SERVER['PHP_SELF'],'/')+1);

if ($SELF_PAGE = "clientcheck.php"){
    $ACTIVE = array('','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','active open','','','','active','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','');
}
$PIKA_ROOT_DIR =  "../../";

include_once $PIKA_ROOT_DIR.'inc/uploadfunction.php';

$html='';
if(isset($_POST['submit'])){
    $type=array('jpg','jpeg','png');
    $mime=array('image/jpg','image/jpeg','image/png');
    $save_path='/uploads/file.php';
    $upload=upload('uploadfile','512000',$type,$mime,$save_path);
    if($upload['return']){
        $html.="<p class='notice'>文件上传成功</p><p class='notice'>文件保存的路径为:{$upload['save_path']}</p>";
    }else{
        $html.="<p class=notice>{$upload['error']}</p>";

    }
}


?>





<div class="main-content">
    <div class="main-content-inner">
        <div class="breadcrumbs ace-save-state" id="breadcrumbs">
            <ul class="breadcrumb">
                <li>
                    <i class="ace-icon fa fa-home home-icon"></i>
                    <a href="upload1.php">upload1.php</a>
                </li>
                <li class="active">getimagesize()</li>
            </ul>

        </div>
        <div class="page-content">
            <div id="usu_main">
                <p class="title">文件上传作业</p>
                <form class="upload" method="post" enctype="multipart/form-data"  action="">
                    <input class="uploadfile" type="file"  name="uploadfile" /><br />
                    <input class="sub" type="submit" name="submit" value="开始上传" />
                </form>
                <?php
                echo $html;
                ?>
            </div>


        </div>
    </div>
</div>

PS:服务器部署在本地,但同学电脑,不用就关,不能保证能访问到

相关文章:

  • 常用光模块收发光范围整理
  • matplotlib设置字体为宋体+times new roman
  • 【量化策略】动量突破策略
  • 基于Rook的Ceph云原生存储部署与实践指南(下)
  • 金融项目实战
  • 数学基础:06随机变量
  • CMake学习
  • 计算机毕设JAVA——某高校宿舍管理系统(基于SpringBoot+Vue前后端分离的项目)
  • 有关Java中的集合(1):List<T>和Set<T>
  • 本地部署 DeepSeek:从 Ollama 配置到 Spring Boot 集成
  • 第十章——数组
  • DeepSeek开源周Day6:DeepSeek V3、R1 推理系统深度解析,技术突破与行业启示
  • 基于微信小程序的疫情互助平台(源码+lw+部署文档+讲解),源码可白嫖!
  • [Lc优选算法] 双指针 | 移动零 | 复写零 | 快乐数
  • 从0搭建Tomcat第二天:深入理解Servlet容器与反射机制
  • 在QML中注册C++类型
  • 如何学习人工智能(如Transformer架构和DeepSeek等)
  • JavaFunction的使用
  • 在2023idea中如何创建SpringBoot
  • 大数据-240 离线数仓 - 广告业务 测试 ADS层数据加载 DataX数据导出到 MySQL
  • 培训机构网站设计/qq空间刷赞推广网站
  • 网页地址怎么消除/网站seo培训
  • 临清建网站/营销和运营的区别是什么
  • 南昌疫情最新政策/兰州seo优化
  • 在线视频直播网站建设/百度推广怎么优化关键词的质量
  • 安全的政府网站建设提供商/品牌推广和品牌营销