사용자의 사용자 이름을 사용자 수준에서 벗어나는 방법을 찾아야합니다. 내 사용자 이름 변수는 다음과 같습니다. $username = $_SESSION['username'];
'사용자'및 '레벨'열의 데이터베이스에 이미 모든 사용자 수준이 저장되어 있습니다. 다음과 같이 세션 변수를 만들 수있는 MySql 쿼리가 필요합니다. $_SESSION['level'] =
미리 감사드립니다!PHP - 사용자 이름을 기반으로 사용자 수준을 찾는 방법은 무엇입니까?
답변
SELECT level FROM users WHERE username = 'username';
그런 다음 DB (PDO 등)에 액세스하는 데 사용하는 항목에 따라 레벨을 가져 와서 세션에 넣으십시오. 예를 들어
, 당신은 PDO 사용하는 경우 : PDO를 사용하는 방법에 대한 자세한 내용은
# Connect to the database
$db = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
$sql = 'SELECT level FROM users WHERE username = :username';
$query = $db->prepare($sql); # Prepare SQL statement to prevent SQL Injection Attack
$query->execute(array(':username' => $username)); # Bind parameter username
$_SESSION['level'] = $query->getColumn(); # Fetch data & Assign to session variable
체크 아웃 http://www.php.net/manual/en/class.pdo.php.
참고 : 데이터를 가져 오는 데 함수를 사용하고 $ db 연결 문이 해당 함수 외부에 있으면 함수가 작동하지 않는 $ db 변수가 함수 범위를 벗어 났음을 의미합니다. 이 문제를 해결하려면 global
키워드를 사용해야합니다. 예 :
# database.php
$db = new PDO(...);
# otherfile.php
require_once("database.php");
function makeQuery($sql, $dataArr) {
global $db; # tell the compiler we mean the $db object above
$query = $db->prepare($sql);
$query->execute($dataArr);
}
어떻게 mysql 쿼리에 넣을 수 있습니까? (저는 PHP와 MySQL을 처음 접했습니다). 나는 이것을 시도했지만 효과가 없었다. '$ qry = "사용자로부터의 SELECT 레벨 WHERE username = '$ username';"; $ result = mysql_query ($ qry); echo "$ result"; ' – Penian4
mysql_query가 잘못된 방법입니다. 곧 폐기 될 예정이며 PDO와 같은 것을 사용하여 처리되는 많은 보안 문제가 있습니다. 내 대답에 무엇을 추가했는지 확인하십시오. – clexmond
mysql 쿼리 코드를 알려주시겠습니까? – Penian4
당신이 세션 변수로 이름을 저장할 때 내가 시간에 세션 변수로 수준을 저장하는 것이 좋습니다 사용자는 그나마이 방법은 모든 쿼리를해야
$sql="SELECT * FROM $tbl_name WHERE user = '$user' AND pass = '$pass'";
$result=mysql_query($sql);
$user = mysql_fetch_array($result);
$_SESSION['user'] = $user['user'];
$_SESSION['level'] = $user['level'];
로그인되어 할 수있는 경우 사용자 레벨에 대한 시간은 언제든지 $ _SESSION [ 'level']을 사용하여 레벨을 호출 할 수 있습니다.
- 1. 사용자의 이전 Active Directory 사용자 이름을 찾는 방법은 무엇입니까?
- 2. 기기에서 사용자 이름을 찾는 더 나은 방법은 무엇입니까?
- 3. Clearcase에서 요소의 최신 버전을 만든 사용자 이름을 찾는 방법은 무엇입니까?
- 4. 그루비 세션. 사용자 이름을 찾는 방법
- 5. aspnet_users에서 모든 사용자 이름을 얻는 방법은 무엇입니까?
- 6. PHP 로그인의 사용자 이름을 기반으로 설명을 표시 하시겠습니까?
- 7. 사용자 지정 작업 필터에서 현재 사용자 이름을 찾는 ASP.NET MVC
- 8. 로그인 사용자 이름을 기반으로 양식 변경
- 9. 팬의 사용자 이름을 기반으로 한 페이지 공개
- 10. 로그인 후 사용자 이름을 기반으로 사용자 지정 URL로 리디렉션 장고
- 11. 장고의 사용자 모델에서 다른 필드를 기반으로 사용자 이름을 자동으로 만듭니다.
- 12. Cocoa Touch에서 사용자 이름을 처리하는 방법은 무엇입니까?
- 13. PHP 세션을 사용하여 사용자 이름을 표시하는 방법은 무엇입니까?
- 14. TeamCity에서 사용자 목록을 찾는 방법은 무엇입니까?
- 15. 파이썬에서 이전 사용자 입력을 기반으로 사용자 입력을 요청하는 방법은 무엇입니까?
- 16. 그리드의 이름을 찾는 방법은 무엇입니까?
- 17. token_get_all()을 사용하여 범위 수준을 찾는 방법은 무엇입니까?
- 18. 로컬 사용자 그룹 사용자 이름을 업데이트하는 방법은 무엇입니까?
- 19. 이 쿼리에서 사용자 ID가있는 사용자 이름을 얻는 방법은 무엇입니까? (MySQL)
- 20. tortoisegit dcommit에서 사용자 이름을 설정하는 방법은 무엇입니까?
- 21. Javascript를 사용하여 사용자 이름을 확인하는 방법은 무엇입니까?
- 22. codeIgniter에서 사용자 이름을 만드는 방법은 무엇입니까?
- 23. JSp에서 로그인 사용자 이름을 얻는 방법은 무엇입니까?
- 24. 사용자 위치 이름을 가져 오는 방법은 무엇입니까?
- 25. 모든 사용자 이름을 소문자로 저장하는 방법은 무엇입니까?
- 26. SharePoint에서 현재 사용자 이름을 설정하는 방법은 무엇입니까?
- 27. 셀에 현재 사용자 이름을 표시하는 방법은 무엇입니까?
- 28. 장고 프로젝트에서 프로젝트 이름을 찾는 방법은 무엇입니까?
- 29. 사용자 컴퓨터에 설치된 글꼴을 모두 찾는 방법은 무엇입니까?
- 30. Microsoft 프로젝트의 모든 사용자 정의 필드 이름을 읽는 방법은 무엇입니까?
코드를 더 게시하면 I와 Clexmond (SO 너무)가 더 도움이 될 수 있습니다. –