ホームページ >バックエンド開発 >PHPチュートリアル >PHPでユーザーのログインと登録を実装するにはどうすればよいですか? (詳細な例)

PHPでユーザーのログインと登録を実装するにはどうすればよいですか? (詳細な例)

PHPz
PHPz転載
2016-06-13 13:22:0612022ブラウズ

この記事では、PHP を使用して簡単なログインと登録機能を実装する方法を説明します。この機能を実現するには、MySql 関連の知識が必要です。

PHPでユーザーのログインと登録を実装するにはどうすればよいですか? (詳細な例)

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');

ディレクトリ構造

PHPでユーザーのログインと登録を実装するにはどうすればよいですか? (詳細な例)

最初の register_html登録フロント ページ .php start

nbsp;html>


<meta>
<title>欢迎注册</title>

欢迎注册新用户
用户名:
邮箱:
密码:
确认密码:

登録バックエンド ページ register.php (登録は新規追加です)

<?php  
header (&#39;Content-type:text/html;charset=utf-8&#39;);
//数据库服务器主机名,端口号,选择的数据库,字符集
$dsn = "mysql:host=localhost;dbname=itcast;charset=utf8";
$user = &#39;root&#39;;         //数据库名
$pwd = &#39;root&#39;;          //数据库密码

try{
    $pdo = new PDO($dsn,$user,$pwd);
    
    //如果post表单不为空
    if(!empty($_POST)){
        
        //声明变量$fields,用来保存字段信息
        $fields = array(&#39;username&#39;,&#39;password&#39;,&#39;email&#39;);
        
        //声明$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 (&#39;Content-type:text/html;charset=utf-8&#39;);
//数据库相关信息
$dsn = "mysql:host=localhost;dbname=itcast;charset=utf8";
$user = &#39;root&#39;;         //数据库名
$pwd = &#39;root&#39;;          //数据库密码,根据自己的密码更改

try{
    $pdo = new PDO($dsn,$user,$pwd);
    
   //如果表单中不为空
    if(!empty($_POST)){
        
        //从表单中获取数据
        $username = isset($_POST[&#39;username&#39;]) ? trim($_POST[&#39;username&#39;]) : &#39;&#39;;
        $password = isset($_POST[&#39;password&#39;]) ? ($_POST[&#39;password&#39;]) : &#39;&#39;;

        //执行SQL语句
		$sql = "select `id`,`password` from `user` where `username`=&#39;$username&#39;";
		
		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>登录成功!</h1>

ここで行われていることはあまり多くありませんbeautiful. これに基づいて、2 つのパスワードが同じかどうかの判定を追加したり、正規表現を使用して登録形式を判定したりすることができます。ここでは、主な目的については説明しません。簡単なログインと登録を実現するためです、へへ!

登録情報を入力してください

PHPでユーザーのログインと登録を実装するにはどうすればよいですか? (詳細な例)

クリックして登録

PHPでユーザーのログインと登録を実装するにはどうすればよいですか? (詳細な例)

登録が完了すると、自動的にログインにジャンプしますページ

PHPでユーザーのログインと登録を実装するにはどうすればよいですか? (詳細な例)

登録した情報を入力してください

PHPでユーザーのログインと登録を実装するにはどうすればよいですか? (詳細な例)

クリックしてログイン

PHPでユーザーのログインと登録を実装するにはどうすればよいですか? (詳細な例)

index.php ページに移動しました

PHPでユーザーのログインと登録を実装するにはどうすればよいですか? (詳細な例)

興味がある場合は、「PHP ビデオ チュートリアル」をクリックしてください。学習の PHP について詳しく学びましょう。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。