728x90

킴스큐 RB를 이해하는데 도움이 되도록 함수에 설명을 좀 추가하고 있다.


<?php
function isConnectDb($db)
{
    $conn = mysql_connect($db['host'].':'.$db['port'],$db['user'],$db['pass']);
    $selc = mysql_select_db($db['name'],$conn);  // 접근한 계정으로 사용할 수 있는 DB 선택
    // 연결 식별자($conn) 는 생략 가능하며, 생략시 가장 최근에 설정한 연결 식별자가 사용된다.
    return $selc ? $conn : false;
}
function db_query($sql,$con)
{
    mysql_query('set names utf8',$con);
    mysql_query('set sql_mode=\'\'',$con);
    // 연결 식별자($conn) 는 생략 가능하며, 생략시 가장 최근에 설정한 연결 식별자가 사용된다.
    return mysql_query($sql,$con);
}
function db_fetch_array($que)
{
    // @는 PHP에서 수행에 지장이 없는 경고 메시지가 나타나지 않도록 하는 기호
    // 결과 레코드 집합에서 한 레코드를 가져와 배열을 생성한다.
    // mysql_fetch_array() 함수가 호출되면 결과 레코드 집합 식별자는 자동으로 다음 레코드로 이동된다
    return @mysql_fetch_array($que);
}
function db_fetch_assoc($que)
{

    // 가장 많이 사용되는 함수로써 키값을 가지고 데이터를 출력한다
    return mysql_fetch_assoc($que);
}
function db_num_rows($que)
{
    return mysql_num_rows($que);
}
function db_info()
{
    return mysql_get_server_info();
}
function db_error()
{
    // 오류의 내용을 문자열로 반환하는 함수
    return mysql_error();
}
function db_close($conn)
{
    // DB 접속을 종료하는 기능을 수행한다.
    // mysql_close() 함수를 반드시 호출해야만 DB 연결이 종료되는 것은 아니다.
    // 해당 PHP 스크립트의 수행이 종료됨과 동시에 DB와의 접속은 자동 종료된다.
    return mysql_close($conn);
}
function db_insert_id($conn)
{
    return mysql_insert_id($conn);
}
//DB-UID데이터
function getUidData($table,$uid)
{
    return getDbData($table,'uid='.(int)$uid,'*');
}
//DB데이터 1ROW
function getDbData($table,$where,$data)
{
    $row = db_fetch_array(getDbSelect($table,getSqlFilter($where),$data));
    return $row;
}
//DB데이터 ARRAY
function getDbArray($table,$where,$data,$sort,$orderby,$recnum,$p)
{
    global $DB_CONNECT;
    $rcd = db_query('select '.$data.' from '.$table.($where?' where '.getSqlFilter($where):'').' order by '.$sort.' '.$orderby.($recnum?' limit '.(($p-1)*$recnum).', '.$recnum:''),$DB_CONNECT);
    return $rcd;
}
//DB데이터 NUM
function getDbRows($table,$where)
{
    global $DB_CONNECT;
    $rows = db_fetch_array(db_query('select count(*) from '.$table.($where?' where '.getSqlFilter($where):''),$DB_CONNECT));
    return $rows[0] ? $rows[0] : 0;
}
//DB데이터 MAX
function getDbCnt($table,$type,$where)
{
    global $DB_CONNECT;
    $cnts = db_fetch_array(db_query('select '.$type.' from '.$table.($where?' where '.getSqlFilter($where):''),$DB_CONNECT));
    return $cnts[0] ? $cnts[0] : 0;
}
//DB셀렉트
function getDbSelect($table,$where,$data)
{
    global $DB_CONNECT;
    $r = db_query('select '.$data.' from '.$table.($where?' where '.getSqlFilter($where):''),$DB_CONNECT);
    return $r;
}
//DB삽입
function getDbInsert($table,$key,$val)
{
    global $DB_CONNECT;
    db_query("insert into ".$table." (".$key.")values(".$val.")",$DB_CONNECT);
}
//DB업데이트
function getDbUpdate($table,$set,$where)
{
    global $DB_CONNECT;
    db_query("update ".$table." set ".$set.($where?' where '.getSqlFilter($where):''),$DB_CONNECT);
}
//DB삭제
function getDbDelete($table,$where)
{
    global $DB_CONNECT;
    db_query("delete from ".$table.($where?' where '.getSqlFilter($where):''),$DB_CONNECT);
}
//SQL필터링
function getSqlFilter($sql)
{
    return $sql;

    // preg_replace("/찾을 문자열/" , "변경할 문자열" , "해당 문자열");
    // /찾을 문자열/ 에서 / 는 정규식의 시작과 끝을 알린다.
}
?>


=======================================================================

mysql_fetch_row()
인덱스 번호로만 데이터를 출력한다.
가장 빠르다고 알려져 있으나 어느 컬럼을 가져왔는지 가독성이 떨어저 많이 이용하지 않는다.

$query = 'SELECT * FROM table_name';
$result = mysql_query($query);
while($row = mysql_fetch_row($result)){
echo $row[0] .'<br>';
}
mysql_close($db);

mysql_fetch_assoc()
가장 많이 사용되는 함수로써 키값을 가지고 데이터를 출력한다.

$query = 'SELECT * FROM table_name';
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)){
echo $row['uid'] .'<br>';
}
mysql_close($db);

mysql_fetch_array()
이 함수는 인덱스(숫자)번호와 연관 배열의 키값으로 데이터를 가져 올 수 있다.

$query = 'SELECT * FROM table_name';
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){
echo $row['uid'] .'<br>';
}
mysql_close($db);

블로그 이미지

Link2Me

,
728x90

킴스큐 RB 1.2 파일에 매번 동일한 함수를 추가하는 것은 불합리한 거 같아서

core 폴더에 함수를 추가했다.


function add_hyphen_telNo($tel)
{
    $tel = preg_replace("/[^0-9]/", "", $tel);    // 숫자 이외 제거
    if (substr($tel,0,2)=='02')
        return preg_replace("/([0-9]{2})([0-9]{3,4})([0-9]{4})$/", "\\1-\\2-\\3", $tel);
    else if (substr($tel,0,3)=='050')  // 평생번호
        return preg_replace("/([0-9]{4})([0-9]{3})([0-9]{4})$/", "\\1-\\2-\\3", $tel);
    else if (strlen($tel)=='8' && (substr($tel,0,2)=='15' || substr($tel,0,2)=='16' || substr($tel,0,2)=='18'))
        // 지능망 번호이면
        return preg_replace("/([0-9]{4})([0-9]{4})$/", "\\1-\\2", $tel);
    else
        return preg_replace("/([0-9]{3})([0-9]{3,4})([0-9]{4})$/", "\\1-\\2-\\3", $tel);
}


전화번호 표시를 자동으로 깔끔하게 표시하고 싶어서다.


파일에서는

<?php include_once $g['path_core'].'/function/string.func.php';?>

한줄만 추가해주고 나서 해당 전화번호를 표시할 부분에

<tr height=25>
    <td class="td1">휴대폰</td>
    <td class="td2"><?php echo add_hyphen_telNo($R['cellphone'])?></td>
</tr>


로 해주면 보기좋게 하이픈이 들어가서 표시된다.




블로그 이미지

Link2Me

,
728x90

킴스큐 사이트내에서 정보 찾아내려면 힘든 경우가 있어서 편리하게 찾아서 활용하고 싶어서 변수 저장 정보를 적어둔다.


<?php
$g = array(
    'path_root'   => './',
    'path_core'   => './_core/',
    'path_var'    => './_var/',
    'path_tmp'    => './_tmp/',
    'path_layout' => './layouts/',
    'path_module' => './modules/',
    'path_widget' => './widgets/',
    'path_switch' => './switchs/',
    'path_page'   => './pages/',
    'path_file'   => './files/',
    'sys_lang'    => 'korean'
);

$g['path_root']  = './';   // 파일 위치에 따라
$g['path_core']  = $g['path_root'].'_core/';
$g['path_var']  = $g['path_root'].'_var/';
$g['img_layout'] = './layouts/default/image'; // 이미지 경로때문에 임의추가
$g['files_layout'] = './layouts/default/files'; // 외부페이지 경로 임의추가


include_once $g['path_var'].'db.info.php';
include_once $g['path_var'].'table.info.php';
include_once $g['path_core'].'function/db.mysql.func.php';
include_once $g['path_var'].'db.info.php';
include_once $g['path_var'].'table.info.php';
include_once $g['path_core'].'function/db.mysql.func.php';
include_once $g['path_core'].'function/sys.function.php';
include_once $g['path_core'].'function/string.function.php';

define('__KIMS__',true);
error_reporting(E_ALL ^ E_NOTICE);
session_save_path($g['path_root'].'_tmp/session');
session_start();

$DB_CONNECT = isConnectDb($DB);
$my = array();
if ($_SESSION['mbr_uid'])
{
 $my = getUidData($table['s_mbrid'],$_SESSION['mbr_uid']);
 $my = array_merge(getDbData($table['s_mbrdata'],"memberuid='".$my['uid']."'",'*'),$my);
 if($my['pw'] != $_SESSION['mbr_pw']) exit;
}

?>


킴스큐 구조 파악을 위한 매뉴얼 http://www.kimsq.co.kr/r/freeboard/13482

블로그 이미지

Link2Me

,
728x90

킴스큐RB 1.2 에서 정해준 폴더에 출력하는 것이 아니라 완전 다른 폴더에서 별도로 만드는 게시판을 연동하는 경우를 테스트해봤다.

모양 출력 제대로 보이게 하는 것은 생락하고 화면에 출력되는 것만 보기 위해서다.

연동에 필요한 함수는 더 필요한 것을 찾아서 넣어야겠지만 기본적으로는 아래 4개 정도면 될거 같다.

테이블명은 직접 테이블명을 적어줘여 한다.


<?php
########## KIMSQRB와 연동된 로그인 정보 가져오기 ##########
defined('__KIMS__');
include_once '../_var/db.info.php';
include_once '../_core/function/db.mysql.func.php';
include_once '../_core/function/sys.func.php';
include_once '../_core/function/lib/getContent.lib.php';

$DB_CONNECT = isConnectDb($DB); // 데이터베이스 연결하기 완료

$sqlque = 'display=1';

$RCD = getDbArray('rb_guide_data',$sqlque,'*','uid','desc',0,1);
$NUM = getDbRows('rb_guide_data',$sqlque);
$TPG = getTotalPage($NUM,10);

echo '<meta http-equiv="content-type" content="text/html; charset=utf-8" />';
echo $NUM;  // 게시물 개수
echo $TPG;  // 페이지 출력수
echo '<table border=1>';
echo '<tr>';

$i=1;
while ($R = db_fetch_array($RCD)){
    $_CAT1 = getUidData('rb_guide_category',$R['category1']);

    echo '<td ALIGN=CENTER>'.$i.'</td>';
    echo '<td ALIGN=CENTER>'.$_CAT1['classname'].'</td>';
    echo '<td>'.$R['eng'].'</td>';
    echo '<td>'.$R['kor'].'</td>';
    echo '<td>'.$R['kor'].'</td>';
    echo '<td>'.$R['kor1'].'</td>';
    echo '<td>'.$R['kor2'].'</td>';
    echo '<td>'.$R['kor3'].'</td>';
    echo '<td>'.LIB_getContents($R['content'],$R['html']).'</td>';
    echo '</tr>';
    $i++;
}
echo '</table>';
exit;

?>



블로그 이미지

Link2Me

,
728x90

PHP 에서 버그찾기가 참 힘들다.

C# 에서는 프로그램이 버그이면 메시지를 뿌려주니까 그 부분을 집중적으로 살펴보면 되는데 PHP는 에러가 발생한 곳을 찾아내기가 힘들다.

내가 뭔가 세팅을 잘못하고 있는 부분이 있는가 보다.


관리자 모드에서는 동작이 정상적으로 되는데 사용자 모드에서 동작이 안되길래 너무 이상하다고 버그 잡기에 나섰는데 킴스큐 RB 구조를 완벽하게 이해를 못하니까 버그 잡기가 쉽지 않다.

list.php 파일이 잘못되었나 살펴봐도 이상이 없다.

main.php 파일을 한줄 한줄 살펴보면서 원인을 찾아냈다.

if (!$my['admin']){
       $sqlque .= ' and hidden=0';
}

원인은 이거였다.

테이블을 설계하면서 hidden 필드 자체가 불필요해서 없애버렸다.

필드가 없으니까 당연히 에러가 보여야 되는데 화면에서는 데이터가 없다고만 나온다. ㅋㅋ

C# 이라면 필드 자체가 없으니까 에러가 나왔을 것인데 에러가 나오지를 않았다.

에러메시지 출력하라는 옵션을 제거해서 그런가??

아무튼 집중적으로 에러 잡는 방법을 배워야겠다.

로직 설계 부분에서는 아무런 문제가 없는데 나중에 한줄 한줄 확인하다보면 특정한 곳에서 발생하는 에러 때문에 문제가 생기는 거 같다.

블로그 이미지

Link2Me

,
728x90

workcode workcode Query


select a.uid, a.id, b.name, b.nic, b.level, a.workcode from rb_s_mbrid a, rb_s_mbrdata b where a.uid=b.memberuid and a.workcode > 0 order by a.workcode desc;












'Web 프로그램 > 킴스큐RB' 카테고리의 다른 글

킴스큐 폴더를 벗어난 폴더에서 PHP 함수 출력  (1) 2016.03.08
버그 찾기 힘들다  (0) 2016.02.15
킴스큐 RB2 게시판 생성  (0) 2015.09.30
RB2 Layout 설정  (0) 2015.08.20
킴스큐 RB2 모듈 삭제 방법  (0) 2015.08.01
블로그 이미지

Link2Me

,
728x90

킴스큐 RB2 게시판 생성이 어떻게 되는지 순서를 알아두고 싶어서 적어둔다.


1. 관리자 모드에서 게시판을 생성한다.




2. 게시판이 생성되면 rb_bbs_list 테이블에 정보가 기록된다.





rb_bbs_data 에 게시글이 추가된다.

추가될 때 rb_bbs_list 에 생성된 테이블의 gid => bbs, id => bbsid 로 매핑되는 걸 확인할 수 있다.



게시판과 메뉴 연결



'Web 프로그램 > 킴스큐RB' 카테고리의 다른 글

버그 찾기 힘들다  (0) 2016.02.15
[SQL] 회원정보 중에서 필요한 거 뽑아보기  (0) 2015.09.30
RB2 Layout 설정  (0) 2015.08.20
킴스큐 RB2 모듈 삭제 방법  (0) 2015.08.01
[RB1] 회원테이블 이전시  (0) 2015.07.27
블로그 이미지

Link2Me

,
728x90

KIMSQRB2 의 레이아웃에서 기본적인 정보를 설정하는 방법이다.

맨처음 화면에 나오는 글씨를 변경하고 싶을 때 사이트 제목에 default 값은 My Homepage 로 나온다.

아래 그림처럼 변경하면 화면 내용이 변경된다.


로그인 출력폼은 테스트를 해보니 모달 로그인이 좀 더 편하다.



설정 정보가 저장되는 걸 확인해봤더니 아래에 저장된다.




블로그 이미지

Link2Me

,
728x90

관리자 페이지에서 모듈을 삭제할 수 있다.



블로그 이미지

Link2Me

,
728x90

회원테이블 이전시 백업 받아야 할 테이블 정보

rb_s_mbrid, rb_s_mbrdata


rb_s_mbrid 테이블의 uid 칼럼은 rb_s_mbrdata 테이블의 memberuid 와 연관되어 있다.


블로그 이미지

Link2Me

,
728x90

별도로 커스터마이징한 모듈 게시판에 접근권한을 설정하기 위해서는

환경설정에서 회원레벨에 따른 레벨을 설정하고, main.php 파일에서는 레벨에 따른 접근이 가능한지 불가능한지를 보여줘야 한다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
// main.php
//권한없음, 둘다 참이면 조건 실행
if (!$my['admin'] && $my['level']<=$d['bbs']['level']){
    getLink($g['s'].'/?r='.$r,'','접근 권한이 없습니다!','');
}
?>
<!--// config.php 파일에서 -->
<tr>
    <td class="td1">
        본문접근
        <img src="<?php echo $g['img_core']?>/_public/ico_q.gif" alt="도움말" title="도움말" class="hand" onclick="layerShowHide('guide_level','block','none');" />                
    </td>
    <td class="td2">
        <select name="level" class="select1">
        <option value="">&nbsp;+ 사용안함</option>
        <option value="">--------------------------------</option>
        <?php $_LVLARR = array()?>
        <?php $levelnum = getDbData($table['s_mbrlevel'],'gid=1','*')?>
        <?php $LVL=getDbArray($table['s_mbrlevel'],'','*','uid','asc',$levelnum['uid'],1)?>
        <?php while($_L=db_fetch_array($LVL)):$_LVLARR[$_L['uid']] = $_L['name']?>
        <option value="<?php echo $_L['uid']?>"<?php if($_L['uid']==$d['bbs']['level']):?> selected="selected"<?php endif?>><?php echo $_L['name']?> (<?php echo number_format($_L['num'])?>)</option>
        <?php endwhile?>
 
        <div id="guide_level" class="guide hide">
            본문접근레벨.<br />
        </div>
    </td>
</tr>
 
<?php
// a.config.php
$_tmpdfile = $g['dir_module'].'var/var.php';
 
$fp = fopen($_tmpdfile,'w');
fwrite($fp"<?php\n");
fwrite($fp"\$d['bbs']['level'] = \"".$level."\";\n");
fwrite($fp"?>");
fclose($fp);
@chmod($_tmpdfile,0707);
 
?>
cs


블로그 이미지

Link2Me

,
728x90

RB2 설치를 하고 나면 로그인이 가능하다.


그런데 회원가입하는 것을 달고 싶은데 어디서 찾아야 할지 구조를 제대로 파악하지 못하는 나로서는 매우 어렵다.

default layout 에서 아무리 찾아봐도 회원가입 하는 곳을 못찾겠다.

관리자로 로그인하니까 보이는 "프로필관리", "접속기록" 이라는 글자를 힌트로 자료를 검색해봤다.

find ./ -name "*.*" | xargs grep -l "프로필관리"
find ./ -name "*.*" | xargs grep -l "접속기록"

원하는 자료를 찾을 수 없어서

find ./ -name "*.*" | xargs grep -l "join"
으로 찾아봤다.


를 찾았고 내용을 확인해보고 나서 회원가입 페이지 링크하는 걸 알 수 있었다.

파일을 열어서 80번째 라인에


추가를 해주면 된다.

아니면 19번째 라인에다가

                <?php if(!$my['uid']):?>
                     <li><a href="<?php echo $g['s']?>/?m=bskrmbr&amp;front=join">회원가입</a></li>
                <?php endif?>
를 추가해줘도 된다.


그러면 이렇게 회원가입 페이지로 접속할 수 있다.


회원가입 페이지 내용을 수정하는 것은 회원모듈에서 step1.php 파일을 찾으면 된다.




블로그 이미지

Link2Me

,
728x90

RB2 회원모듈을 설치하는 과정이다.




로그인이 상태가 유지되지 않은 경우에는 에러가 발생한다. 그럴때는 다시 재로그인을 한 다음에 설치하면 설치가 된다.



회원모듈이 설치되었다는 표시이며, 설치된 폴더는 아래 그림과 같다.



회원비밀번호를 변경하는 기능까지 포함시켜서 모듈을 설치했다.



그리고 관리자가 회원을 수동으로 등록해주는 기능도 포함시켰다.


무식하면 손발이 고생한다고 수차례 설치와 삭제를 반복해봤다.

블로그 이미지

Link2Me

,
728x90

킴스큐 RB 2.0 을 어떻게 설치하는지 몰라서 설치하고 지우기를 수십번 반복하고 나서야 설치하는 방법은 알게되었다. 1.2 버전과 설치방식이 다르게 변경되었다.


리눅스 서버에 root 권한으로 접속해서 처리한 사항이다.

1. cd /home/httpd/설치할디렉토리

2. unzip rb2-installer.zip

3. rb 폴더 권한 변경

   chown -R apache:apache rb/


4. http://www.abc.com/rb/index.php 를 Web browser 에서 입력한다.

그러면






DB명, user, password 는 MySQL 상에서 미리 생성해야 한다.


// MySQL에 접속하여 새로운 Database 를 생성하고 사용자에게 권한을 부여하는 방법


mysql >create database DB명 default character set utf8;  -- DB 생성

mysql > use mysql;
mysql > create user userid@localhost identified by '패스워드';
// 사용자(userid)를 추가하면서 패스워드까지 설정

mysql > grant all privileges on DB명.* to userid@localhost identified by '패스워드';
// user 에게 DB명(ex, test) DB의 모든 테이블에 대한 권한 부여

mysql > flush privileges;    -- // 변경된 내용을 메모리에 반영(권한 적용)


이렇게 작업을 해주고 빠져나오면 된다.

사이트를 운영할 관리자 정보를 입력한다. (기본정보, 추가정보)


관리자의 이름과 관리자 E-Mail 주소, 관리자 ID, 관리자 패스워드를 입력하고 나면 rb 2.0 해당 테이블에 정보가 저장된다.


수차례 지우고 다시 설치하면서 알게된 사실은 사이트코드는 화면에 나오는 그대로 두어야 한다는 것이다. 변경하고 이러면 제대로 동작이 안된다. rb1.2 URL 도 확인하면서 이걸 다르게 변경하니까 오류가 난다는 사실 ㅠㅠㅠ





시작하기를 누르면 관리자 모드로 접속된다.


이제 회원모듈, 게시판모듈 등을 설치하면 된다.





블로그 이미지

Link2Me

,
728x90

PHP 소스파일의 위치를 빨리 찾는 방법이다.

예전에는 리눅스상에서 파일 찾는 방법을 몰라서 소스 전부를 다운로드 한 다음에 Total Commander 를 이용하여 소스에 찾고자하는 단어 검색을 해서 자료를 찾았다.

리눅스 상에서 파일 찾는 법을 배우고 나서는 그럴 필요가 전혀 없다.


로그인창을 띄우는 소스가 어디인지 궁금해서 찾아봤다.

위 그림에서 보면 "이메일 또는 아이디" 라는 글자가 보인다.

그리고 "아이디/비밀번호 기억" 이라는 글자도 보인다.

이걸 검색어로 넣고 검색을 했다.


find ./ -name "*.php" | xargs grep -l "이메일 또는 아이디"
find ./ -name "*.php" | xargs grep -l "아이디/비밀번호 기억"


찾고자 하는 파일의 위치를 정확하게 알려주었다.

방법을 모를 때는 완전 노가다를 해가며 육안찾기를 했었다.

'Web 프로그램 > 킴스큐RB' 카테고리의 다른 글

킴스큐 RB2 회원모듈 설치  (0) 2015.05.28
킴스큐 RB 2.0 설치  (0) 2015.05.28
글 등록자만 수정버튼 보이게 하기  (0) 2015.04.01
킴스큐 함수  (0) 2015.03.01
최고관리자 비밀번호 변경  (0) 2014.08.14
블로그 이미지

Link2Me

,
728x90

KIMSQ RB
list01 게시판 테마로 예를 들어..


modules/bbs/theme/_pc/list01/view.php 파일 94번줄 쯤에 아래와 같은 코드가 있다

<span class="btn00"><a href="<?php echo $g['bbs_modify'].$R['uid']?>">수정</a></span>

저걸 아래 처럼, 위아래로 코드를 추가한다

<?php if($R['mbruid'] == $my['uid']):?>
<span class="btn00"><a href="<?php echo $g['bbs_modify'].$R['uid']?>">수정</a></span>
<?php endif?>


'Web 프로그램 > 킴스큐RB' 카테고리의 다른 글

킴스큐 RB 2.0 설치  (0) 2015.05.28
파일 내용 검색 쉽게 하는 방법  (0) 2015.05.19
킴스큐 함수  (0) 2015.03.01
최고관리자 비밀번호 변경  (0) 2014.08.14
글 등록자만 수정버튼 보이게 하기  (0) 2014.07.19
블로그 이미지

Link2Me

,
728x90

킴스큐에서 사용하는 함수를 잘 몰라서 헤매는 경우가 있어서 아예 찾아보기 쉽게 하려고 여기다 적어논다.

킴스큐 매뉴얼 사이트 http://www.kimsq.co.kr/r/freeboard/13482


//DB-UID데이터
function getUidData($table,$uid)
{
    return getDbData($table,'uid='.(int)$uid,'*');
}
//DB데이터 1ROW
function getDbData($table,$where,$data)
{
    $row = db_fetch_array(getDbSelect($table,getSqlFilter($where),$data));
    return $row;
}
//DB데이터 ARRAY
function getDbArray($table,$where,$data,$sort,$orderby,$recnum,$p)
{
    global $DB_CONNECT;
    $rcd = db_query('select '.$data.' from '.$table.($where?' where '.getSqlFilter($where):'').' order by '.$sort.' '.$orderby.($recnum?' limit '.(($p-1)*$recnum).', '.$recnum:''),$DB_CONNECT);
    return $rcd;
}
//DB데이터 NUM
function getDbRows($table,$where)
{
    global $DB_CONNECT;
    $rows = db_fetch_array(db_query('select count(*) from '.$table.($where?' where '.getSqlFilter($where):''),$DB_CONNECT));
    return $rows[0] ? $rows[0] : 0;
}
//DB데이터 MAX
function getDbCnt($table,$type,$where)
{
    global $DB_CONNECT;
    $cnts = db_fetch_array(db_query('select '.$type.' from '.$table.($where?' where '.getSqlFilter($where):''),$DB_CONNECT));
    return $cnts[0] ? $cnts[0] : 0;
}
//DB셀렉트
function getDbSelect($table,$where,$data)
{
    global $DB_CONNECT;
    $r = db_query('select '.$data.' from '.$table.($where?' where '.getSqlFilter($where):''),$DB_CONNECT);
    return $r;
}
//DB삽입
function getDbInsert($table,$key,$val)
{
    global $DB_CONNECT;
    db_query("insert into ".$table." (".$key.")values(".$val.")",$DB_CONNECT);
}
//DB업데이트
function getDbUpdate($table,$set,$where)
{
    global $DB_CONNECT;
    db_query("update ".$table." set ".$set.($where?' where '.getSqlFilter($where):''),$DB_CONNECT);
}
//DB삭제
function getDbDelete($table,$where)
{
    global $DB_CONNECT;
    db_query("delete from ".$table.($where?' where '.getSqlFilter($where):''),$DB_CONNECT);
}

//DB테이블 비우기
function getDbTruncate($table)
{
    global $DB_CONNECT;
    db_query("truncate table ".$table,$DB_CONNECT);
}

//DB테이블 uid 초기화 (auto increment 초기화)
function getDbAlter($table,$where)
{
    global $DB_CONNECT;
    db_query("alter ".$table.($where?' where '.getSqlFilter($where):''),$DB_CONNECT);
}

//SQL필터링 - 다음 패치에 적용예정
function getSqlFilter($sql)
{
    return $sql;
}

블로그 이미지

Link2Me

,
728x90

최고관리자 비밀번호 변경


킴스큐RB의 관리자 비밀번호를 분실한 경우에는 데이터베이스에서 수정해 줘야 한다.

물론 사용자 ID도 MySQL 상에서 변경이 가능하다.

update rb_s_mbrid set pw=md5('변경할 비번') where id='관리자아이디';



mysql > use DB명;      // 접속할 DB명으로 이동

mysql >  show tables;   // DB의 테이블 리스트 출력


mysql > update rb_s_mbrid set pw=md5('변경할 비번') where id='관리자아이디';

mysql > flush privileges;    // 변경사항 적용

'Web 프로그램 > 킴스큐RB' 카테고리의 다른 글

글 등록자만 수정버튼 보이게 하기  (0) 2015.04.01
킴스큐 함수  (0) 2015.03.01
글 등록자만 수정버튼 보이게 하기  (0) 2014.07.19
킴스큐RB 모듈 등록  (0) 2014.07.07
db환경설정 파일위치  (0) 2014.05.04
블로그 이미지

Link2Me

,
728x90

글 등록자만 수정버튼 보이게 하기


KIMSQ RB


<span class="btn00"><a href="<?php echo $g['bbs_modify'].$R['uid']?>">수정</a></span>

위 코드에 아래 처럼, 위아래로 코드를 추가한다

<?php if($R['mbruid'] == $my['uid']):?>
<span class="btn00"><a href="<?php echo $g['bbs_modify'].$R['uid']?>">수정</a></span>
<?php endif?>


'Web 프로그램 > 킴스큐RB' 카테고리의 다른 글

킴스큐 함수  (0) 2015.03.01
최고관리자 비밀번호 변경  (0) 2014.08.14
킴스큐RB 모듈 등록  (0) 2014.07.07
db환경설정 파일위치  (0) 2014.05.04
킴스큐 RB 모듈 설치 및 삭제  (0) 2014.04.05
블로그 이미지

Link2Me

,
728x90

킴스큐RB 모듈 등록


킴스큐RB 모듈 등록방법은 등록할 파일명을 압축한다.


rb_moulde_압축폴더명.zip



으로 설치를 한다.


_var/table.info.php 파일에 추가한다.



이제 DB에 테이블을 추가한다.



모듈 제작자에 따라서는 테이블도 자동 생성하고 table.info.php 에도 자동추가하도록 만든다.


이제 메뉴를 등록하고 연결을 한다.





이렇게 하면 메뉴가 등록이 완료되고 설치한 모듈을 사용할 수 있다.



'Web 프로그램 > 킴스큐RB' 카테고리의 다른 글

킴스큐 함수  (0) 2015.03.01
최고관리자 비밀번호 변경  (0) 2014.08.14
글 등록자만 수정버튼 보이게 하기  (0) 2014.07.19
db환경설정 파일위치  (0) 2014.05.04
킴스큐 RB 모듈 설치 및 삭제  (0) 2014.04.05
블로그 이미지

Link2Me

,