亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

PHP はユーザーを登録する手順を通じてデータベースを操作します。

最も簡(jiǎn)単な登録ページを作成します。登録ページには 3 つのパラメータがあります:

1. ユーザー名

2. パスワード

3. パスワードを繰り返します

ユーザーが 3 つのパラメータを書き込んだ後、送信をクリックすると、POST レコードが connect.php に渡されます。ページ。

POST レコードを処理して MySQL データベースに書き込むと、ユーザー登録が完了します。

コードは次のとおりです:

<form action="connect.php" method="post">
    用戶名:<input type="text" name="username"><br />
    密碼:<input type="password" name="password"><br />
    重復(fù)密碼:<input type="password" name="repassword"><br />
    <input type="submit" value="提交">
</form>

より高速なパフォーマンスを?qū)g現(xiàn)するために、コードのインターフェイスは美化されていません。早急にユーザー登録をご案內(nèi)させていただきます。

1. 繰り返されるパスワードを決定する

パスワードが繰り返されるため、ユーザーが 2 回入力したパスワードが矛盾している場(chǎng)合は、次のステップに進(jìn)む意味がありません。

ウェブページの多くの場(chǎng)所で、パスワードの繰り返しが今でも使用されています。ユーザーが間違いを犯すのではないかという懸念があるからです。パスワードが間違って入力されました。

ユーザーはパスワードを入力するときに、左右にさらに 2 つのスペースを入力できます。したがって、トリムを使用して、パスワードと繰り返されるパスワードの両側(cè)からスペースを削除します。

if(trim($_POST['password']) != trim($_POST['repassword'])){
    exit('兩次密碼不一致,請(qǐng)返回上一頁');
}

2. 書き込むデータを準(zhǔn)備します

ユーザーの入力データと非表示データの両方をデータベースに書き込む必要があります。

表示されるデータは次の通りです:

パスワード不必要な情報(bào)の入力を避けるために、ユーザー名の両側(cè)のスペースを削除する必要があります。 mysql の章で、ユーザーのパスワードは社內(nèi)関係者を含む誰にも公開されるべきではないと述べました。パスワードが元に戻せないことを確認(rèn)してください。初期段階では、MD5 を?qū)W習(xí)するだけです。將來的には他の暗號(hào)化方法も教えていきます。 非表示データには以下が含まれます: 説明$time
変數(shù)
ユーザーの登録時(shí)刻

$_SERVER['REMOTE_ADDR']

ユーザーの登録IP


    1. time によって返される UNIX タイムスタンプ

    2. REMOTE_ADDR は IP アドレスを返します。ip2long を使用してそれを整數(shù)ストレージに変換できます。

    $username = trim($_POST['username']);
    $password = md5(trim($_POST['password']));
    $time = time();
    $ip = ip2long($_SERVER['REMOTE_ADDR']);

    3. データベースへの接続、判定エラー、ライブラリと文字セットの選択

    1. mysqli_connect を使用してデータベースサーバーに接続します。

    2. エラーがある場(chǎng)合は、mysqli_errno を使用してエラー番號(hào)を取得します

    3. エラーがある場(chǎng)合、mysqli_error はすべてのエラーを出力し、プログラムの実行を終了します

    4. データベースを選択し、文字セットを設(shè)定します。 utf8.

    //連接數(shù)據(jù)庫
    $conn = mysqli_connect('localhost','root','liwenkaihaha');
    //如果有錯(cuò)誤,存在錯(cuò)誤號(hào)
    if(mysqli_errno($conn)){
        echo mysqli_error($conn);
        exit;
    }
    mysqli_select_db($conn,'user');
    mysqli_set_charset($conn,'utf8');

    4. SQL ステートメントを結(jié)合します

    ユーザー名、パスワード、作成時(shí)刻、IP を取得しました。

    対応する変數(shù)を SQL ステートメントに挿入します。結(jié)合された SQL ステートメントは次のとおりです:

    $sql = "insert into user(username,password,createtime,createip) values('" . $username . "','" . $password . "','" . $time . "','" . $ip . "')";

    そして、テーブルを作成するステートメントは次のとおりです:

    CREATE TABLE IF NOT EXISTS user (
    id int(11) NOT NULL,
    username varchar(30) NOT NULL,
    password char(32) NOT NULL,
    createtime int(11) NOT NULL,
    createip int(11) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    テーブルの形式 (フィールドに対応する説明):

    idusernamepasswordcreatetime createip
    ユーザー番號(hào)ユーザー名パスワード作成時(shí)間作成IP

    5. ステートメントを送信しステータスを決定する

    my sqli_query 上で述べたように、2 つのパラメータが必要です。渡されるもの:

    接続されたリソース、ここでの対応する変數(shù)は $conn です。

    送信された SQL ステートメント。 $sql は上ですでに準(zhǔn)備されています。

    SQL ステートメントは、mysqli_query を通じて MySQL サーバーに送信できます。正常に送信された場(chǎng)合、$result は true になります。それ以外の場(chǎng)合は false。

    成功した場(chǎng)合は、登録が成功したことをユーザーに通知できます。

    場(chǎng)合によっては、mysqli_insert_id() の使用も必要になる場(chǎng)合があります。自動(dòng)インクリメントされた主キー ID をここに出力します。

    皆さん、今後必要になったときに忘れないよう、この知識(shí)ポイントを覚えておいてください。

    mysqli_insert_id アプリケーション シナリオ: 新しく追加されたデータ行。この ID 値を別のテーブルに挿入するときに、自動(dòng)的に増加する ID 値を取得する必要があります。この機(jī)能を使用する必要があります。

    $result = mysqli_query($conn,$sql);
    if($result){
        echo '注冊(cè)成功';
    }else{
        echo '注冊(cè)失敗';
    }
    echo '當(dāng)前用戶插入的ID為'.mysqli_insert_id($conn);

    5. データベース接続を閉じます

    リソース変數(shù)を mysqli_close 関數(shù)に渡します。

    mysqli_close($conn);

    ユーザー登録の基本的な実裝コードが書かれました。上で説明したのはコード スニペットです。

    実裝した connect.php コードは次のとおりです:

    <?php
    
    if (trim($_POST['password']) != trim($_POST['repassword'])) {
    
       exit('兩次密碼不一致,請(qǐng)返回上一頁');
    
    }
    
    $username = trim($_POST['username']);
    
    $password = md5(trim($_POST['password']));
    
    $time = time();
    
    $ip = $_SERVER['REMOTE_ADDR'];
    
    $conn = mysqli_connect('localhost', 'root', 'liwenkaihaha');
    
    //如果有錯(cuò)誤,存在錯(cuò)誤號(hào)
    if (mysqli_errno($conn)) {
    
       echo mysqli_error($conn);
    
       exit;
    }
    
    mysqli_select_db($conn, 'book');
    
    mysqli_set_charset($conn, 'utf8');
    
    $sql = "insert into user(username,password,createtime,createip) values('" . $username . "','" . $password . "','" . $time . "','" . $ip . "')";
    
    $result = mysqli_query($conn, $sql);
    
    if ($result) {
       echo '成功';
    } else {
       echo '失敗';
    
    }
    
    echo '當(dāng)前用戶插入的ID為' . mysqli_insert_id($conn);
    
    mysqli_close($conn);
    
    ?>


    學(xué)び続ける
    ||
    <?php if (trim($_POST['password']) != trim($_POST['repassword'])) { exit('兩次密碼不一致,請(qǐng)返回上一頁'); } $username = trim($_POST['username']); $password = md5(trim($_POST['password'])); $time = time(); $ip = $_SERVER['REMOTE_ADDR']; $conn = mysqli_connect('localhost', 'root', 'liwenkaihaha'); //如果有錯(cuò)誤,存在錯(cuò)誤號(hào) if (mysqli_errno($conn)) { echo mysqli_error($conn); exit; } mysqli_select_db($conn, 'book'); mysqli_set_charset($conn, 'utf8'); $sql = "insert into user(username,password,createtime,createip) values('" . $username . "','" . $password . "','" . $time . "','" . $ip . "')"; $result = mysqli_query($conn, $sql); if ($result) { echo '成功'; } else { echo '失敗'; } echo '當(dāng)前用戶插入的ID為' . mysqli_insert_id($conn); mysqli_close($conn); ?>
    提出するリセットコード