php 세션관련 질문
본문
---------------------------------------------------login_ok.php---------------------------------------------------
<?php
session_start();
ini_set('display_errors', 1); #에러를 출력
$conn = mysqli_connect("localhost", "root", "root","DORAHEE");
$userid =$_GET['id'];
$userpassword =$_GET['password'];
$usernickname =$_GET['$usernickname']
$usercheck = "SELECT * FROM member WHERE userid ='".$userid."' and userpassword='".$userpassword."'";
$useridoverlap=mysqli_query($conn, $usercheck);
$user_db_check= mysqli_fetch_array($useridoverlap);
if($user_db_check[userid]=== $userid && $user_db_check[userpassword]===$userpassword){
echo "<script>alert(\"환영합니다. 메인페이지로 이동합니다.\");location.href=\"main.php\";</script>";
}else{
echo "<script>alert(\"아이디 또는 비밀번호를 확인해 주세요\");location.href=\"login.php\";</script>";
}
---------------------------------------------------register_ok.php---------------------------------------------------
<?php
session_start();
$conn = mysqli_connect("localhost", "root", "root","DORAHEE");
$userid = $_GET['id'];
$userpassword = $_GET['password'];
$usernickname = $_GET['nickname'];
$userpassword_ck = $_GET['password_check'];
$flag = $_GET['flag'];
$overlap_userid = "SELECT * FROM member WHERE userid ='".$userid."'";
$useridoverlap=mysqli_query($conn, $overlap_userid);
$row_userid=mysqli_num_rows($useridoverlap);
$overlap_usernickname = "SELECT * FROM member WHERE usernickname ='".$usernickname."'";
$usernicknameoverlap=mysqli_query($conn,$overlap_usernickname);
$row_usernickname=mysqli_num_rows($usernicknameoverlap);
if($userid == null){
exit();
} elseif(strlen($userid) < 8 || strlen($userid) > 10){
echo "아이디의 길이는 8글자 이상, 10글자 이하로 입력해주세요.";
exit();
} elseif($row_userid){
echo "<script>alert(\"중복된 아이디 입니다. 다른 아이디 사용해주세요\");location.href=\"register.php\";</script>";
exit();
} elseif($userpassword==null){
exit();
} elseif($userpassword!=$userpassword_ck){
echo "<script>alert(\"패스워드를 확인해 주세요\");location.href=\"register.php\";</script>";
exit();
} elseif($row_usernickname){
echo "<script>alert(\"중복된 닉네임 입니다. 다른 닉네임 사용해주세요\");location.href=\"register.php\";</script>";
exit();
} else {
$_SESSION['usernickname']=$usernickname;
$register_insert="INSERT INTO member(userid,userpassword,usernickname,flag) VALUES('$userid', '$userpassword', '$usernickname', '$flag')";
mysqli_query($conn,$register_insert);
echo "<script>alert(\"".$_SESSION['usernickname']."님 환영합니다. 로그인페이지로 이동합니다.\");location.href=\"login.php\";</script>";
}
위에 소스코드에서 질문입니다.
1. register페이지에서 회원가입 후 login페이지에서 session['usernickname']을 사용하면 잘 사용됩니다.
근대 기존 회원이 로그인을 하게될경우 session['usernickname']값을 사용하게 하고싶은대 어떻게 해야하는지 궁금합니다. 코딩로직상 사용이 안되는 이유는 알고있는대, 세션을 사용하게 하는방법을 모르겠네요..
답변 1
닉네임을 세션으로 저장을 해야 값이 나오겠지요
register_ok.php처럼 아래코드를 넣으세요(echo "<script>alert(\"환영합니다~~ 윗행에)
$_SESSION['usernickname']=$user_db_check[usernickname];