php如何連線mysql實現簡單註冊登陸頁面

2020-11-25 18:00:29

欄目介紹實現簡單註冊登陸頁面。

推薦:

登陸頁面index.html
登陸頁面
註冊頁面 register.html
在這裡插入圖片描述

安裝Mysql資料庫後,用MySQL資料庫管理頁面phpmyadmin建立資料庫和表單

瀏覽器輸入:域名/phpmyadmin ,沒有域名輸入:ip/phpmyadmin或者127.0.0.1/phpmyadmin(127.0.0.1為本機地址)
在這裡插入圖片描述
在資料庫裡建立表單在這裡插入圖片描述

程式碼如下:

index.html

<!DOCTYPE html><html><head>
    <meta charset="UTF-8">
    <title>登入</title></head><body>
    <p>
        <b>登入</b>
        <form action="login.php" method="post">
            <p><span>使用者名稱:</span><input type="text" name="user" required="" /></p>
            <p><span>密碼:</span><input type="password" name="pass"/ required=""></p>
            <p><input type="reset" name=""/> <input type="submit" name=""/></p>
        </form>
        <a href="register.html">新使用者註冊</a>
    </p></body></html>

login.php

<meta charset="utf-8"><?php
    $conn = mysqli_connect('localhost','root','password','db_name') or die('資料庫連線失敗');
    $conn->query("SET NAMES 'UTF8'");
 
    $user = $_POST['user'];
    $pass = $_POST['pass'];
    $sql="SELECT * FROM users where user='{$user}' and pass='{$pass}'"; 
 
    $result=$conn->query($sql);
    $row = mysqli_num_rows($result);
	//若表中存在輸入的使用者名稱和密碼,row=1;若表中使用者名稱不存在或密碼錯誤,則row=0
 
    if($row == 1){
        echo $row['user']."登陸成功!";
    }
    else{
        echo"登入失敗,請重新登入!";
    }	?>	

register.html

<!DOCTYPE html><html><head>
    <meta charset="UTF-8">
    <title>註冊</title></head><body>
    <p>
        <b>註冊</b>
        <form action="register.php" method="post">
            <p><span>使用者名稱:</span><input type="text" name="user" required=""/></p>
            <p><span>密碼:</span><input type="password" name="pass" required=""/></p>
            <p><span>聯絡:</span><input type="text" name="connect" value="" required=""/></p>
            <p>
                <input type="reset" name=""/> <input type="submit" name=""/>
            </p>
        </form>
        <a href="index.html">已註冊</a>
    </p></body></html>

register.php

<?php    header ( "Content-type:text/html;charset=utf-8" );
    $conn = mysqli_connect('localhost','root','password','db_name') or die('資料庫連線失敗');
    $conn->set_charset('utf8');

    $user = $_POST['user'];
    $pass = $_POST['pass'];
    $connect = $_POST['connect'];
 	
    $sql = "INSERT INTO users(id,user,pass,connect) 
    			VALUES (null,'{$user}' ,'{$pass}','{$connect}')";
    mysqli_query($conn,$sql) or die(mysqli_error($conn));
    echo("註冊成功!!!<br/><a href='index.html'>點選登入</a>")     ?>

———————————————————————————————————————

補充:(踩過的坑)

1. PHP7連線資料庫的方式:使用mysqli或PDO
使用mysqli_connect()時地址用localhost而不是ip,否則連線不上伺服器。
參考:https://blog.csdn.net/zwliang98/article/details/82997349

2. php輸出執行sql語句的錯誤資訊:

mysqli_query($conn,$sql) or die(mysqli_error( $conn ));

3. bug
bug 1:
Incorrect integer value: ‘’ for column ‘id’ at row 1
php5以上的版本如果是空值應該要寫NULL

#錯誤
$sql = "INSERT INTO users(id,user,pass,connect) VALUES ('','{$user}' ,'{$pass}','{$connect}')";#改為
$sql = "INSERT INTO users(id,user,pass,connect) VALUES (null,'{$user}' ,'{$pass}','{$connect}')";

bug 2:
Incorrect string value: ‘\xE7\x94\xB7’ for column ‘sex’ at row 1
連結:MySQL插入中文錯誤問題方法

以上就是php如何連線mysql實現簡單註冊登陸頁面的詳細內容,更多請關注TW511.COM其它相關文章!