ディレクトリ構造は次のとおりです。 function フォルダーには 2 つの関数ファイルが含まれており、uploads フォルダーはアップロードされたファイルの保存に使用されます。
htmlページ
ログインページ
<form action="login_process.php" method="POST"> 登录 <input type="text" name="userName" size="20" maxlength="15" placeholder="请填写用户名及域名"> <br> 注册 <input type="password" name="password" size="20" maxlength="15"> <br> <input type="submit" value="登录"> <input type="button" onclick="window.location.href='register.html'" value="注册"> </form>
登録ページ
<h2>用户注册登录系统</h2> <hr> <form action="register.php" method="POST" enctype="multipart/form-data"> 用户名: <input type="text" name="userName" size="20" maxlength="15" placeholder="必须填写用户名"> @ <select name="domain" id=""> <option value="@163.com" selected>163.com</option> <option value="@126.com">126.com</option> </select> <br> 登录密码: <input type="password" name="password" size="20" maxlength="15"> <br> 确认密码: <input type="password" name="confirmPassword" size="20" maxlength="15"> <br> 选择性别: <input type="radio" name="sex" value="male" checked>男 <input type="radio" name="sex" value="female">女 <br> 个人爱好: <input name="interests[]" type="checkbox" value="music">音乐 <input name="interests[]" type="checkbox" value="game">游戏 <input name="interests[]" type="checkbox" value="film">电影 <br> 个人相片 <input type="hidden" name="MAX_FILE_SIZE" value="1024"> <input type="file" name="myPicture" size="25" maxlength="100"> <br> 备注信息: <textarea name="remark" cols="30" rows="4" placeholder="请填写备注信息"></textarea> <br> <input type="submit" name="submit" value="注册"> <input type="reset" name="cancel" value="重填"> </form>
ログイン機能の実現
<?php include_once("function/database.php"); // $userName = $_POST['userName']; // $password = $_POST['password']; $userName = addslashes($_POST['userName']); $password = addslashes($_POST['password']); getConnect(); $loginSQL = "select * from users where userName='$userName' and password='$password'"; echo $loginSQL; $resultLogin = mysql_query($loginSQL); if (mysql_num_rows($resultLogin) > 0) { echo "登录成功"; } else { echo "登录失败"; } closeConnect(); ?>
登録機能の実現
<?php include_once("function/fileSystem.php"); include_once("function/database.php"); if (empty($_POST)) { exit("您提交的表单数据超过post_max_size! <br>"); } // 判断输入密码与确认密码是否相同 $password = $_POST['password']; $confirmPassword = $_POST['confirmPassword']; if ($password != $confirmPassword) { exit("输入的密码与确认密码不相等!"); } $userName = $_POST['userName']; $domain = $_POST['domain']; $userName = $userName . $domain; // 判断用户名是否重复 $userNameSQL = "select * from users where userName = '$userName'"; getConnect(); $resultSet = mysql_query($userNameSQL); if (mysql_num_rows($resultSet) > 0) { exit("用户名已被占用,请更换其他用户名"); } $sex = $_POST['sex']; if (empty($_POST['interests'])) { $interests = ""; } else { $interests = implode(";", $_POST['interests']); } $remark = $_POST['remark']; $myPictureName = $_FILES['myPicture']['name']; $registerSQL = "insert into users values(null, '$userName', '$password', '$sex', '$interests', '$myPictureName', '$remark')"; $message = upload($_FILES['myPicture'], "uploads"); if ($message == "上传成功" || $message == "没有上传") { mysql_query($registerSQL); $userID = mysql_insert_id(); echo "注册成功<br>"; } else { exit($message); } $userSQL = "select * from users where user_id = '$userID'"; $userResult = mysql_query($userSQL); if ($user = mysql_fetch_array($userResult)) { echo "您的注册用户名为:" . $user['userName']; } else { exit("用户注册失败!"); } closeConnect();
データベース接続とクローズを実装する関数
<?php $databaseConnection = null; function getConnect() { $hosthome = "localhost"; $database = "register"; $userName = "root"; $password = "123456"; global $databaseConnection; $databaseConnection = @mysql_connect($hosthome, $userName, $password) or die (mysql_error()); mysql_query("set names gbk"); @mysql_select_db($database, $databaseConnection) or die (mysql_error()); } function closeConnect() { global $databaseConnection; if ($databaseConnection) { @mysql_close($databaseConnection) or die (mysql_error()); } }?>
ファイルアップロードを実装する関数
<?php function upload($file, $filePath) { $error = $file['error']; switch ($error) { case 0: $fileName = $file['name']; $fileTemp = $file['tmp_name']; $destination = $filePath . "/" . $fileName; move_uploaded_file($fileTemp, $destination); return "上传成功"; case 1: return "上传超过upload_max_filesize"; case 2: return "上传文件超过form的MAX_FILE_SIZE"; case 3: return "附件部分上传"; case 4: return "没有上传"; } }?>
[関連チュートリアルの推奨事項]
1. 入門から習熟までの PHP プログラミングに関する完全なビデオ チュートリアル
2.熟練度へのエントリー 3.
ブートストラップ チュートリアル