데이터베이스에서 간단한 값을 반환하는 함수를 사용하려고하는데 일반적으로 쉽지만 다소 어려움이 있습니다. 나는 여러 가지 다른 혼합물을 시도해 보았으므로이 공동체를 돕기로 결심했다.MYSQL + PHP 가변적으로 값을 선택하십시오.
데이터베이스 구조는 사용 권한이 지정된 페이지 유형의 순위가 있습니다. 이 예를 들어
현재 열 : 순위/modreports/plreports
데이터 예 : 관리자/1/
function CheckPermission($module){
$GetPerms = mysql_query("SELECT * FROM `permissions` WHERE `rank` = '".$MyDetails['group']."' LIMIT 1");
$MyPerm = mysql_fetch_array($GetPerms);
if($MyPerm[$module] != 1){
echo 'DEBUG: '.$MyPerm[$module];
//redirect("index.php?resp=perms");
die();
}
}
사용 예 :
CheckPermissions(modreports);
위의 사용법은 DEBUG를 리턴해야합니다 : 1 이 단계에서 또는 아무것도 전혀 보이지 않는 대신 (바람직하게는 두 번째), DEBUG :을 보여줍니다. $ MyPerm [ 'modreports']는 올바른 값을 반환 할 것이므로 이전에 $ _POST [ '']에서만 사용했던 변수 내의 변수라고 가정합니다.
도움을 주셔서 감사합니다. 도움을 얻기에 충분한 정보를 제공해 주셨으면합니다.
지원에 대한 응답으로 이것은 수정 된 코드입니다.
대신
이if($MyPerm[$module] != 1){
는 귀하의 기능을 인식하지
if($MyPerm[$module] == 1){
이 코드에 대한 mysql 쿼리 작업에 몇 가지 기본 오류 처리를 추가해야합니다. 그것은 당신의 문제를 즉시 밝혀 줄 것입니다. 나는 또한 당신에게 변수에 쿼리를 쓰고 그 변수를 'var_dump'하는 것을 강력히 제안 할 것이다. 다시 당신의 문제는 명백해질 것입니다. 마지막으로, 모든 레벨에서 오류보고 기능을 켜 놓은 경우 문제를 지적하는 알림을 받게됩니다. 요약하면 가장 큰 문제는 코드를 디버깅하고, 가장자리/오류 사례를 처리하며, 개발할 때 오류 메시지를 항상주의 깊게 관찰하는 방법을 배우는 데 집중해야한다는 것입니다. –
@MikeBrant 고마워요, 다른 상황에서 제가 일반적으로하는 일입니다. 그래서이 문제가 마지막으로 생겼을 때 제가 스스로 해결했습니다. 이번에는 내 대신에 간과하십시오. – Tarquin