PHPでユーザーのログインと登録を実装するにはどうすればよいですか? (詳細な例)
この記事では、PHP を使用して簡単なログインと登録機能を実装する方法を説明します。この機能を実現するには、MySql 関連の知識が必要です。
php でユーザーのログインと登録を実装する方法
PHP+ を使用する必要があります私の最近の研究では、MySql は単純なログインと登録を実装しています。多くの単純な事例を読んだ後、PDO を介した単純なログインと登録を実装している人はいないか、実装されているとしてもほとんど役に立たないことがわかりました。 PHPでできることは載せる必要はありませんが、意地を張って単純にログインと登録を実装しましたので、間違いがあれば参照してください。 、皆さんが私を啓発できることを願っています!
新しいデータベース名 itcast、テーブル名 user を作成し、次のコードを実行します
create table user( id int unsigned primary key auto_increment, username varchar(10) not null comment '用户名', password char(20) not null comment '密码', email varchar(40) not null comment '邮箱' )charset=utf8; insert into user (username,password,email) values ('张三','123456','zhangsan@qq.com');
ディレクトリ構造
最初の register_html登録フロント ページ .php start
nbsp;html> <meta> <title>欢迎注册</title>
登録バックエンド ページ register.php (登録は新規追加です)
<?php header ('Content-type:text/html;charset=utf-8'); //数据库服务器主机名,端口号,选择的数据库,字符集 $dsn = "mysql:host=localhost;dbname=itcast;charset=utf8"; $user = 'root'; //数据库名 $pwd = 'root'; //数据库密码 try{ $pdo = new PDO($dsn,$user,$pwd); //如果post表单不为空 if(!empty($_POST)){ //声明变量$fields,用来保存字段信息 $fields = array('username','password','email'); //声明$values,用来保存值信息 $values = array(); //遍历$fields,获取输入用户名、密码、邮箱的键和值 foreach($fields as $k=>$v){ $data = isset($_POST[$v]) ? $_POST[$v] : ''; if($data=='') die($v.'字段不能为空!'); //赋值给$fields数组 $fields[$k] = "$v"; //赋值给$values数组 $values[] = "'$data'"; } //将$fields数组以逗号连接,赋值给$fields,组成insert语句中的字段部分 //implode — 将一个一维数组的值转化为字符串 $fields = implode(',', $fields); //将$values数组以逗号连接,赋值给$values,组成insert语句中的值部分 $values = implode(',', $values); //最后把$fields和$values拼接到insert语句中,注意要指定表名 $sql = "insert into user ($fields) values ($values)"; if($res = $pdo->query($sql)){ //注册成功,自动跳转到会员中心 echo '<script>alert("注册成功!");window.location.href="login_html.php";</script>'; }else{ die ('注册失败!'); } } }catch(PDOException $e){ echo $e->getMessage().'<br>'; echo $e->getLine().'<br>'; echo $e->__toString().'<br>'; } define('APP', 'itcast'); require './register_html.php';
フロント ページにログイン login_html.php
nbsp;html> <meta> <title>欢迎登录</title>
ログイン 背景ページの login.php
<?php header ('Content-type:text/html;charset=utf-8'); //数据库相关信息 $dsn = "mysql:host=localhost;dbname=itcast;charset=utf8"; $user = 'root'; //数据库名 $pwd = 'root'; //数据库密码,根据自己的密码更改 try{ $pdo = new PDO($dsn,$user,$pwd); //如果表单中不为空 if(!empty($_POST)){ //从表单中获取数据 $username = isset($_POST['username']) ? trim($_POST['username']) : ''; $password = isset($_POST['password']) ? ($_POST['password']) : ''; //执行SQL语句 $sql = "select `id`,`password` from `user` where `username`='$username'"; if($res = $pdo->query($sql)){ //登录成功,自动跳转到会员中心 echo '<script>alert("登录成功");window.location.href="index.php";</script>'; }else{ //否则提示登录失败 die('登录失败!'); } } }catch(PDOException $e){ //这段用于出错的时候,方便告诉我们那里错了 echo $e->getMessage().'<br>'; echo $e->getLine().'<br>'; //显示错误所在多少行 echo $e->__toString().'<br>'; } define('APP', 'itcast'); require './login_html.php'; ?>
最後のページは、正常にログインした inex.php ページです
nbsp;html> <meta> <title>Insert title here</title> <h1 id="登录成功">登录成功!</h1>
ここで行われていることはあまり多くありませんbeautiful. これに基づいて、2 つのパスワードが同じかどうかの判定を追加したり、正規表現を使用して登録形式を判定したりすることができます。ここでは、主な目的については説明しません。簡単なログインと登録を実現するためです、へへ!
登録情報を入力してください
クリックして登録
登録が完了すると、自動的にログインにジャンプしますページ
登録した情報を入力してください
クリックしてログイン
index.php ページに移動しました
興味がある場合は、「PHP ビデオ チュートリアル」をクリックしてください。学習の PHP について詳しく学びましょう。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
