ログイン機能を作成しています。
テーブル↓
name | password | sdate |
---|---|---|
~ | ~ | 0000-00-00 00:00:00 |
↑の(~)にはすでに値が入っています。DBにデータがあればログイン(マイページ表示)
なければエラー画面にしています。
sdateのカラムにログインした日時を入れたいです。
どうすれば宜しいでしょうか?
if (isset($_POST["login"])) { // 1. ユーザIDの入力チェック if (empty($_POST["userid"])) { // emptyは値が空のとき $errorMessage = '※UserIDまたはPasswordが間違っています。'; } else if (empty($_POST["password"])) { $errorMessage = '※UserIDまたはPasswordが間違っています。'; } if (!empty($_POST["userid"]) && !empty($_POST["password"])) { // 入力したユーザIDを格納 $userid = $_POST["userid"]; // 2. ユーザIDとパスワードが入力されていたら認証する $dsn = sprintf('mysql: host=%s; dbname=%s; charset=utf8', $db['host'], $db['dbname']); //調査 // 3. エラー処理 try { $pdo = new PDO($dsn, $db['user'], $db['pass'], array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION)); $stmt = $pdo->prepare('SELECT * FROM userdata WHERE name = ?'); $stmt->execute(array($userid)); $password = $_POST["password"]; if ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { // if (password_verify($password, $row['password'])) { if ($userid == $row['name'] || $password == $row['password']) { session_regenerate_id(true); // 入力したIDのユーザー名を取得 $id = $row['id']; $sql = "SELECT * FROM userdata WHERE id = $id"; //入力したIDからユーザー名を取得 $stmt = $pdo->query($sql); foreach ($stmt as $row) { $row['name']; // ユーザー名 } $_SESSION["NAME"] = $row['name']; header("location: my.php"); exit(); // 処理終了 } else { $errorMessage = '※UserIDまたはPasswordが間違っています。'; } } catch (PDOException $e) { header("Location: 500.php");--- } }
試したこと
php
1$date = date('Y-m-d H:i:s'); 2 3// UPDATEのSQL作成 4$sql = "UPDATE gc_granola SETsdate='" . $date . "' 5WHERE id = 1"; 6 7// SQL実行 8$res = $mysqli->query($sql); 9
上記の文章を
エラー処理の所で試してみましたがうまくいかず。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/05 08:11
2018/09/06 00:22 編集
2018/09/06 01:39
2018/09/06 01:55
2018/09/06 02:02
2018/09/06 02:20
2018/09/06 03:26
2018/09/06 05:04
2018/09/06 05:04
2018/09/06 05:05
2018/09/06 05:09
2018/09/06 07:27