php에서 유저 페이지를 만드려고 합니다.

php에서 유저 페이지를 만드려고 합니다.

QA

php에서 유저 페이지를 만드려고 합니다.

본문

회원가입, 로그인 기능은 만들었는데,

로그인을 하면 유저 페이지로 ( 아이디가 abc 라면 도메인.com/abc ) 이런식으로 이동되게 하려는데

로그인 했을 때 유저 아이디 별로 유저 페이지로 넘어가게 하려면 어떻게 코드를 짜야 할까요,,?

이 질문에 댓글 쓰기 :

답변 2

안녕하세요.

 

로그인을 체크하는 PHP에 로그인이 완료되었을시, 작동하는 조건문을 생성하시고


<?php
$user_id = 유저아이디;
echo "<script>alert('로그인이 완료되었습니다.'); location.href='도메인주소/".$user_id."';</script>";
?>

이렇게 해서 넘겨주면 될거같은데용.

 

한번 해보세용!

음 그렇게 하는게 아니신데...
정확한 소스코드가 없어서 어떻게 답변을 드리기가 어렵지만,

$user_id = 유저아이디;
해당 user_id 변수에 그 로그인시도하는 사람의 아이디를 받으시고, 뭐 예를 들어서 POST로 받는 방식이면
$user_id = $_POST['id'];
이런식이 되겠지용?

그리고 echo 하실때 location.href에 있는 .$user_id. 는 해당 변수의 값을 불러오는 것입니다.

location.href = '/user_board.php='".$user_id.";
이렇게 되어야겠지용?

로그인할 때 실행되는 코드입니다.
스위띠님이 알려주신대로 해봤더니 로그인하고 다시 로그인창으로 와집니다..ㅠㅠ

<meta charset="utf-8" />
<?php
include "../db.php";
include "../password.php";

//POST로 받아온 아이다와 비밀번호가 비었다면 알림창을 띄우고 전 페이지로 돌아갑니다.
if($_POST["userid"] == "" || $_POST["userpw"] == ""){
echo '<script> alert("아이디나 패스워드를 입력하세요"); history.back(); </script>';
}else{

//password변수에 POST로 받아온 값을 저장하고 sql문으로 POST로 받아온 아이디값을 찾습니다.
$password = $_POST['userpw'];
$sql = mq("select * from member where id='".$_POST['userid']."'");
$member = $sql->fetch_array();
$hash_pw = $member['pw']; //$hash_pw에 POSt로 받아온 아이디열의 비밀번호를 저장합니다.

if(password_verify($password, $hash_pw)) //만약 password변수와 hash_pw변수가 같다면 세션값을 저장하고 알림창을 띄운후 main.php파일로 넘어갑니다.
{
$_SESSION['userid'] = $member["id"];
$_SESSION['userpw'] = $member["pw"];
setcookie("cookie", "setcookie", time() + 3600, "/");
$userid = $_POST['userid'];
echo "<script>alert('로그인이 완료되었습니다.'); location.href = '/user_board.php='".$userid.";</script>";
}else{ // 비밀번호가 같지 않다면 알림창을 띄우고 전 페이지로 돌아갑니다
echo "<script>alert('아이디 혹은 비밀번호를 확인하세요.'); history.back();</script>";
}
}
?>

질문을 다시 여쭤봅니다.

로그인을 하게 되면 user_board.php 로 가지게 하실거라는 말씀이신가요?

이게 맞다면, user_board.php 에선 해당 user_id를 받는 값이 있으신건가요?
user_board.php도 같이 보여주셔야 도움드릴 수 있을 것 같습니다...

예를 들어서 abc라는 아이디로 회원가입을 하면 도메인.com/user_board.php=abc 이런식으로 따로 페이지가 생기고, 다른 사람도 도메인.com/user_board.php=abc 여기로 접속가능하게 해보고 싶습니다.. 제가 php 초보라서 그런데 user_board.php에서도 따로 값을 받아줘야 하나요??

  user_board.php 로 값을 받으시려면

echo "<script>alert('로그인이 완료되었습니다.'); location.href = '/user_board.php?a='".$userid.";</script>";

으로 하시고, user_board.php 에서 $_GET['a'] 으로 받으시면, userid가 해당 a 파라메터에 담겨서 넘어올거에용 :)

짧은 주소 형식으로 "도메인.com/user/아이디" 하고 싶으시다면,

 

.htaccess


<IfModule mod_rewrite.c>
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ - [L]
 
    # 아래 부분을 추가
    RewriteRule  ^user/([0-9a-zA-Z_]+)$   bbs/user_board.php?user=$1  [QSA,L]
</IfModule>

 

/bbs 폴더안에 "user_board.php" 파일을 생성하여 내용을 넣으시고

도메인.com/user/아이디 하시면 해당 파일로 넘어갈겁니다.

거기서 $_GET["user"] 이렇게 받으시면 됩니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,530 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT