ログイン機能を作っているます。正しいメールアドレスとパスワードが入力しされた時sessionにDBの値を格納して別ページで表示させたいのですが何も表示されません。どこが間違えていますか?
login.php
1$isRedirect = false; 2$validationMsgs[] = ''; 3$loginmail = filter_input(INPUT_POST, "mail"); 4$pas = filter_input(INPUT_POST, "password"); 5 6try { 7 $db = new PDO(Conf::DB_DNS, Conf::DB_USERNAME, Conf::DB_PASSWORD); 8 $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 9 $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 10 11 $sql = "SELECT * FROM users WHERE login = :login"; 12$stmt = $db->prepare($sql); 13$stmt->bindValue(":login", $loginmail, PDO::PARAM_INT); 14$result = $stmt->execute(); 15$user = null; 16 17if ($result && $row = $stmt->fetch(PDO::FETCH_ASSOC)) { 18 $id = $row['id']; 19 $password = $row['password']; 20 $login= $row['login']; 21 $name = $row['name']; 22 23 $user = new User(); 24 $user->setId($id); 25 $user->setLogin($login); 26 $user->setPassword($password); 27 $user->setName($name); 28 29} 30 31 32if($user == null){ 33 $validationMsgs[] = "存在しないアドレスです。正しいアドレスを入力してください"; 34}else{ 35 $userPw = $user->getPassword(); 36 if(($pas==$userPw)){ 37 $id = $user->getId(); 38 $name = $user->getname(); 39 40 $_SESSION['name'] = $name; 41 $_SESSION["id"] = $id; 42 43 $isRedirect = true; 44 }else{ 45 $validationMsgs[] = "パスワードが違います。正しいパスワードを入力してください"; 46 } 47} 48 49}catch (PDOException $ex) { 50 $_SESSION["errorMsg"] = "DB接続に失敗しました。"; 51} finally { 52 $db = null; 53} 54 55if ($isRedirect){ 56 header("location: /login/index.php"); 57 exit; 58} 59
index.php
1<?php echo $SESION['name]; ?>
回答3件
あなたの回答
tips
プレビュー