PHP 学習メモ 7

概要

 PHP 学習メモ。アカウント作成機能デモ。

内容

  1. アカウント作成機能

1. アカウント作成機能

 アカウント作成処理のコードは次の通り:

<?php
// データベース接続情報読み込み
include '../inc/dbinfo.inc';

// データベース接続
$mysqli = new mysqli(
  DB_SERVER,
  DB_USERNAME,
  DB_PASSWORD,
  DB_DATABASE
);

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  $username = $_POST['username'];
  $password = $_POST['password'];

  // パスワードはハッシュ化してテーブルに保存する
  $hash_password = password_hash($password, PASSWORD_DEFAULT);

  // データ追加
  $stmt = $mysqli->prepare(
    "INSERT INTO users (username, password) VALUES (?, ?)"
  );
  $stmt->bind_param('ss', $username, $hash_password);
  $result = $stmt->execute();
  
  if ($result) {
    echo 'アカウントを作成しました';
  } else {
    echo 'アカウント作成に失敗しました';
  }
}

// データベース接続切断
$mysqli->close();

?>
  • password_hash() について

 パスワードハッシュを作る関数。

www.php.net

  • データ追加の成功可否について

 以下に記載されているように、mysqli_stmt::execute はクエリ成功可否を返す。

成功した場合に true を、失敗した場合に false を返します。

www.php.net