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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
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"] 이렇게 받으시면 됩니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

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