第5回では退会画面を作っていきます。
第1回を見ていない方は、わからないことが多いと思うので、以下のリンクから飛んで先に見ることをオススメします。

【Web】phpで簡単な会員登録を実装しよう!!『1.概要説明』『PHPやHTMLを覚えたけど、具体的にどんなものを作ればいいのかわからない・・・・』
と言う人はプログラミング初心者には多いと思...
全体のコード(delete.php)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
<?php /* データベース情報を取り込み */ require_once('common.php'); /* セッション開始 */ session_start(); /* 未ログイン状態ならトップへリダイレクト */ if (!isset($_SESSION['username'])) { header('Location: ./'); exit; } /* 退会処理 */ if ($_SERVER['REQUEST_METHOD'] === 'POST') { /* ログイン状態で、かつ退会ボタンを押した */ if (isset($_SESSION['username']) && isset($_POST['is_delete']) && $_POST['is_delete'] === '1') { /* データベース接続 */ try { $dsn = 'mysql:dbname=' . DB_NAME . ';host=' . DB_HOST . ';charset=utf8mb4;port=8889'; $pdo = new PDO($dsn, DB_USER, DB_PASS); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT); // エラーを出力できるように設定 } catch (PDOException $e) { exit; } /* 退会 */ $stmt = $pdo->prepare('DELETE FROM users WHERE username = ?'); $stmt->bindValue(1, $_SESSION['username']); $stmt->execute(); session_destroy(); // セッションを破壊 header('Location: ./'); exit; } } ?> <!DOCTYPE html> <html> <head> <title>退会画面</title> <meta charset="utf-8"> </head> <body> <h1>退会画面</h1> <p>退会しますか?</p> <form action="./delete.php" method="POST"> <input type="hidden" name="is_delete" value="1"> <input type="submit" value="退会する"> </form> <p><a href="/">トップに戻る</a></p> </body> </html> |
このコードを実行すると、以下のような画面になります。

退会するボタンを押すと、ログインしているアカウントを退会させることができます。
コードの説明
未ログイン状態の場合はそもそも退会画面を作る必要が無いので、以下のコードのように、
1 2 3 4 5 6 7 |
/* 未ログイン状態ならトップへリダイレクト */ if (!isset($_SESSION['username'])) { header('Location: ./'); exit; } |
退会画面に遷移しても、トップ画面へリダイレクトするようにしています。
1 2 3 4 5 6 7 8 9 10 11 |
/* 退会 */ $stmt = $pdo->prepare('DELETE FROM users WHERE username = ?'); $stmt->bindValue(1, $_SESSION['username']); $stmt->execute(); session_destroy(); // セッションを破壊 header('Location: ./'); exit; |
この部分では退会処理を実装しています。
SQLのDELETE文を使うことで、usernameが一致したレコードを削除することができます。
レコード削除後は、セッションも破棄してトップへリダイレクトします。

【Web】phpで簡単な会員登録を実装しよう!!『6.会員一覧画面』第6回では会員一覧画面を作っていきます。
第1回を見ていない方は、わからないことが多いと思うので、以下のリンクから飛んで先に見るこ...