网站搭建作业
搭建作业的流程:
<?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:服务器部署在本地,但同学电脑,不用就关,不能保证能访问到