2014-03-01 4 views
0

매우 간단한 기능을 갖춘 소셜 네트워크를 구축하려고합니다. 친구 요청 없음, 사진 앨범 없음, 좋아함 없음. 모든 사용자는 서로 다른 프로필에 액세스 할 수 있지만 로그인 한 사용자 만 해당 페이지의 정보를 수정할 수 있습니다.다른 사용자의 프로필에 액세스하는 사용자가 로그인했습니다.

지금까지 로그인 확인 로직뿐만 아니라 등록 로직도 만들었습니다. user_id에 대한 세션을 생성하여 사용자 정보를 검색하고 프로필 페이지의 다른 영역을 채울 수 있습니다.

내 문제는 로그인 한 사용자가 다른 사용자의 프로필 페이지를 볼 수 있도록 적용해야하는 논리와 관련이 있습니다. 나는 로그인 한 사용자가 입력 한 데이터에 따라 다른 사용자 결과 목록을 성공적으로 보여주는 추천 검색 상자를 만들었습니다. 각 결과는 profile.php 레이아웃으로 리디렉션되고 채워지기를 기다립니다. 나는 더 많은 세션을 신청해야한다고 생각하지만, 나는 사물을 분명히 볼 수없는 지점에 도달했으며,이 문제에 관해 당신의 견해를 가질 수 있다면 유용 할 것입니다.

나는이 기술을 향상시키기 위해이 프로젝트를 수행하고 있으며 두 번째로는 로직 만 필요하다는 것을 명심하십시오. 이것이 제가 코드를 게시하지 않은 이유입니다. 미리 감사드립니다.

답변

1

id을 스크립트에 전달해야합니다. 456

profile.php?id=456 

당신이 프로필을 열려는 사용자의 사용자 ID입니다.

그런 다음

$st = $db->prepare('SELECT * FROM profiles WHERE user_id = ?'); 
$st->execute(array($_GET['id'])); 

처럼 profile.php 무언가 할 및 출력에 대한 정보를받을 수 있습니다.

$_SESSION의 정보는 현재 사용자에게만 사용해야합니다. 스크립트가있는 경우 my_profile.php 현재 로그인 한 사용자 ID를 $_SESSION에서 가져올 수 있기 때문에 ID를 전달할 필요가 없습니다.

+0

신속한 응답을 보내 주셔서 감사합니다. GhostGambler! 그래서 기본적으로, 로그인 한 사용자 만이 사용하는 my_profile.php 스크립트와 로그인 한 사용자가 다른 사용자의 프로필에 액세스하려고 할 때 사용되는 profile.php와 같은 다른 스크립트를 가지고 있어야하며 사용자의 정보를 가져와야합니다 GET 방법으로 선택. 옳은? – kidA

+0

이것은 최소한 대부분의 커뮤니티가 구현되는 방식입니다. 물론 편집 기능을'profile.php? id = '에 통합 할 수도 있습니다. $ _GET [ 'id'] == $ _SESSION [ 'user_id']'와 같이 form 요소와 submit 버튼 만 출력하면됩니다. – GhostGambler

+1

좋아요! 답변을 수락하고 다시 한 번 명확한 답변을 보내 주셔서 감사합니다. – kidA

관련 문제