[2자이상입력하세요]때문에 미티겠습니다.ㅠ.ㅠ > 자유게시판

자유게시판

[2자이상입력하세요]때문에 미티겠습니다.ㅠ.ㅠ 정보

[2자이상입력하세요]때문에 미티겠습니다.ㅠ.ㅠ

본문

G3 를 사용하는데요.
질답란에 남겼던 것처럼  게시판검색기를 맹글었는데..
이와 연관된 [2자이상입력하세요]때문에 미치미치...@
 
관련 소스중에
 
if ($stext) {
    $sql_search .= " and ( ";
    switch ($sselect) {
        default :
            $sql_search .= " ($sselect like '%$stext%') ";
            break;
    }
    $sql_search .= " ) ";
 
이런것이있는데..
'%$stext%'<==이눔과연관된소스열같은데..
도저히 찾을 수가없어서 질답란에 남겼었는데..아직 뾰족한방법이 없네요..
 
일부러 소스에 에러를 내보면 (%2자이상입력하세요%)라고 에러문에는 보입니다.
 
각파일을 다뒤벼도 [2자이상 입력하세요]<==이눔 출력부분을 찾을 수가 없어서
다시 혹시나 하고 자유게시판에 한번남겨봅니다..
 
저눔이 실시간검색탑10과 실시간검색어에 항상..있어야되니..
어떻하든 찾아서..수정봐야겠는데..
 
답이아니어도 좋으니..언질이라도 주세요... 
추천
0

댓글 14개

gnu3/wrest.js
---------------------------------------------------------------------------------------
    // 최소 길이 검사
    function wrestMinlength(fld)
    {
        var len = fld.getAttribute("minlength");
        if (fld.value.length < len) {
            if (wrestFld == null) {
                wrestMsg = wrestItemname(fld) + " :  최소 " + len + "자 이상 입력하세요.\n";
                wrestFld = fld;
            }
        }
    }
---------------------------------------------------------------------------------------
이게 연관이 있을런가 모르겠네용...
시그너스님 고맙습니다.

wrest.js 와 bbs/gnusearch.php 등 파일이랑은 연관이 없드라구요..
다..지워버려도 문제의 문자는 계속..
bbs/
gnusearch.php:if (!$stext || strlen($stext) < 2) { alert("검색어는 최소 2자 이상 되어야 합니다."); }
gnusearch.php.334:if (!$stext || strlen($stext) < 2) { alert("검색어는 최소 2자 이상 되어야 합니다."); }


혹시 원본소스가 아닌 다른파일에서 발생하는지 모르니  grep으로 검색해보세요.
bbs> grep "이상" *
루트님 반갑습니다. 써주신 이눔들도 아니것같습니다.
gnusearch.php:if (!$stext || strlen($stext) < 2) { alert("검색어는 최소 2자 이상 되어야 합니다."); }
gnusearch.php.334:if (!$stext || strlen($stext) < 2) { alert("검색어는 최소 2자 이상 되어야 합니다."); }
--------------------------------------------------------------------------------------

bbs> grep "이상" * <===이눔을 한번 찾아봐야겠습니다.
감사합니다.
아무리 찾아도 출력될만한 파일에서 저눔을 찾을 수 가 없네요..

에러를 발생시키면 정확하게
--------------------------------------------------------
1064 : 'SQL 구문에 오류가 있습니다.' 에러 같읍니다. ('and ( (concat(bo_table,bo_subject) like '%2자이상입력하세요%') ) ' 명령어 라인 3)
--------------------------------------------------------
이렇게 뜹니다..

혹시 모르니 검색에사용되는 소스는 아래....
---------------------------------------------------------
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "STYLE");

$html_title = "종목게시판찾기";

$sql_common = " from $cfg[table_board] a ";
$sql_search = " where (1) ";

if ($stext) {
    $sql_search .= " and ( ";
    switch ($sselect) {
        default :
            $sql_search .= " ($sselect like '%$stext%') ";
            break;
    }
    $sql_search .= " ) ";
}

if (!$ssort) {
    $ssort  = "a.bo_table";
    $sorder = "asc";
}

$sql_order = " order by $ssort $sorder ";

$sql = " select count(*) $sql_common $sql_order ";
$row = sql_fetch($sql);

$rows = $cfg[page_rows];
if ($page == "") { $page = 1; }
$from_record = ($page - 1) * $rows;

$sql = " select *
          $sql_common
          $sql_search
          $sql_order
          limit $from_record, $rows ";
$result = sql_query($sql);

?>



<style type='text/css'>
form
{
    display : inline ;
    margin : 0px ;
}
</style>

<form name=search_form  method=post  action='<?="./"?>'>
<input type=hidden name=doc value='<?=$doc?>'>
<div style='padding-top:5px;padding-bottom:5px;padding-left:3px;padding-right:3px;background-color:#6699ff;'>
        <input type='hidden' name=sselect  value='concat(bo_table,bo_subject)'>
        <input type=text name=stext size=15 itemname='검색어'>
        <input type=image src="./image/coopon.gif" border="0"  title="검색" align="absmiddle">
</div>
<span>
<?
    for ($i=0; $row=mysql_fetch_array($result); $i++) {

        else{
 

    echo "
    <div align='center' style='padding-top:16px;padding-bottom:16px;padding-left:3px;padding-right:3px;background-color:#e5e5e5;border-width:1px 1px 1px 1px; border-color:#6699ff; border-style:solid;'><b><a href='./?doc=bbs/gnuboard.php&bo_table=$row[bo_table]' target='Content'>$row[bo_subject]</a></b></div>";
}
}
if ($i == 0) {
    echo "<div style='padding-top:16px;padding-bottom:16px;padding-left:3px;padding-right:3px;background-color:#e5e5e5;border-width:1px 1px 1px 1px; border-color:#6699ff; border-style:solid;' align='center'>종목명 OR 단어를 입력!<br>(한글자 가능)</div>";
}


if ($stext) {
    echo "<script>document.search_form.sselect.value = '$sselect';</script>";
}

?>

</span>
</form>
---------------------------------------------------------------------------------------------------
이눔 때문에 눈알이..@@
$sql_common = " from $cfg[table_board] a ";

에서 맨 끝의 a 는 뭘까요?

단독으로 사용될 경우인데 이상합네당.....

concat(bo_table,bo_subject) 이라면 게시판 테이블명과 게시판명에서 찾는데

a 가 불필요하지 않을까 합니다...

$ssort  = "a.bo_table";.......? 요기도 있네요....
if ($stext) {
    $sql_search .= " and ( ";
    switch ($sselect) {
        default :
            $sql_search .= " ($sselect like '%$stext%') ";
            break;
    }
    $sql_search .= " ) ";
}




if ($stext) {
    $sql_search .= " and ( ";
    $sql_search .= " (bo_table like '%$stext%' or bo_subject like '%$stext%') ";
    $sql_search .= " ) ";
}

로 간단히 하셔도 될듯 합니다....^^


위 소스의 쿼리문을 요약하면
검색어가 없다면

$sql = " select * from $cfg[board_table] where(1) order by bo_table asc limit $from_record, $rows ";

검색어가 있다면

$sql = " select * from $cfg[board_table] where(1) and ((bo_table like '%$stext%' or bo_subject like '%$stext%')) order by bo_table asc limit $from_record, $rows ";

정도로 요약될 듯 합니다..만...^^
천상재회님의 막강내공을 발휘하시다니..^^;;
if ($stext) {
    $sql_search .= " and ( ";
    $sql_search .= " (bo_table like '%$stext%' or bo_subject like '%$stext%') ";
    $sql_search .= " ) ";
}

문 감사합니다..

그나저나..이리저리 짜집어도 근본적인 2자...이눔은 사라지질 않으니
아무래도 실시간 체크에서 평생끼고살든가..
게시판 검색기폼 에서는 적용을 미루어야겠습니다..

A~ 같이살자 [2자...]이눔아...
내공은 아직도 바닥입니다.....

가입한지 60일도 아니된 왕초보의 내공이 얼마나 하겠습니까?......ㅠ.ㅠ

그누보드3의 최근 소스 내려받아 다 둘러보아도 해당 구문을 못 찾았네요.....

도움을 드리지 못해 죄송합니다...
웬걸요...@ 많은 도움받았습니다..^^

그거참..요상한건 솔직히 몇번이고 소스확인하고 못찾아서
올렸거든요..근데, 어딘가에 있으니 출력이될틴데..참으로..

불안땠는데 연기는 나고있으니..쿨럭~쿨럭~@@
--------------------------------------------------------
1064 : 'SQL 구문에 오류가 있습니다.' 에러 같읍니다. ('and ( (concat(bo_table,bo_subject) like '%2자이상입력하세요%') ) ' 명령어 라인 3)
--------------------------------------------------------
에서  $stext = "2자이상입력하세요"; 가 성립되는것이 어딘가에서 충돌이 있는듯 합니다.
이눔때문에..지금도 땅파고있지만..
도무지..잠시..놔뒀다가..다시한번 잡아봐야겟습니다..
뭐하나 적용할려면 삽질은 엄청해요..ㅎㅎ
버러러러럭~~~!

제가 말씀드린 부분

a 라는 넘과 위에 제가 수정한 부분을 제대로 적용하시지  와이...?

그누3의 올린소스와 틀립니까?....

<?
    for ($i=0; $row=mysql_fetch_array($result); $i++) {

        else{

이건 뭡니까?.....고로 이넘들 아래  } 도 하나 더 있고......버러러럭~~~~!
전체 408 |RSS
자유게시판 내용 검색

회원로그인

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