글쓰기 폼에서 리스트 검색시

글쓰기 폼에서 리스트 검색시

QA

글쓰기 폼에서 리스트 검색시

본문

글쓰기 폼에서 리스트 검색시 리스트 검색이 잘 안되네요

 

글쓰기 폼에서 리스트 검색시
코드가 잘못된건 없는것 같은데 주소창에 아래와 같이 결과가 나오네요.

$stx 에 stx1,stx2,stx3,stx4 값이 안들어가고 기호만 들어가네요
http://www.abc.com/bbs/board.php?bo_table=test&sca=&sop=and&sfl=wr_subject&stx=+--&stx1=1111&stx2=011&stx3=1111&stx4=1111

 


<script type="text/javascript">
function searchCheck()
{
 var frm = document.fsearch
 if(!frm.stx1.value)
 {
  alert("'이름'은 필수 입력사항입니다.")
  frm.stx1.focus();
  return false;
 }
 if(!frm.stx2.value)
 {
  alert("'휴대전화번호' 식별번호는 필수 입력사항입니다.")
  frm.stx2.focus();
  return false;
 }
 if(!frm.stx3.value)
 {
  alert("'휴대전화번호' 국번은 필수 입력사항입니다.")
  frm.stx3.focus();
  return false;
 }
 if(!frm.stx4.value)
 {
  alert("'휴대전화번호' 뒷자리는 필수 입력사항입니다.")
  frm.stx4.focus();
  return false;
 }
</script>

<fieldset id="bo_sch">
<form name="fsearch" id="fsearch" onsubmit="return searchCheck();" method="get" style="margin:0px; background-color:#fff;" action="/bbs/board.php?bo_table=<?=$bo_table?>">
<?
 $stx = "$stx1"." "."$stx2"."-"."$stx3"."-"."$stx4";
?>
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
<input type="hidden" name="sca" value="<?php echo $sca ?>">
<input type="hidden" name="sop" value="and">
<input type="hidden" name="sfl" value="wr_subject">
<input type="hidden" name="stx" value="<?=$stx?>">
 <div id="reserve_search">
  <div class="help2">주문신청시 입력한 성함과 연락처를 입력후 조회하기를 클릭하세요.</div>
   <table cellpadding="0" cellspacing="0" align="center" style="width: 420px; border-collapse: collapse; background: #ffffff;">
    <tr>
     <td style="width: 26%; height:50px; background: #f2f2f2; border:1px solid #dddddd; text-align: center; font-weight: bold;">이름</td>
     <td style="width: 74%; border:1px solid #dddddd; padding: 0 10px;">
      <input type="text" name="stx1" id="stx1" style="width:100%;height:30px;padding-left:10px;border:1px solid #dddddd;">
     </td>
    </tr>
    <tr>
     <td style="width: 26%; background: #f2f2f2; border:1px solid #dddddd; text-align: center; font-weight: bold;">휴대전화번호</td>
     <td style="width: 74%; border:1px solid #dddddd; padding:10px;">
      <select name="stx2" id="stx2" style="width: 86px; height:30px; border:1px solid #dddddd;">
       <option value=""> 선택 </option>
       <option value="010"> 010</option>
       <option value="011"> 011</option>
       <option value="016"> 016</option>
       <option value="017"> 017</option>
       <option value="018"> 018</option>
       <option value="019"> 019</option>
      </select> -
      <input type="text" name="stx3" id="stx3" maxlength="4" size="4" style="width: 87px; height:30px; border:1px solid #dddddd;text-align:center;"> -
      <input type="text" name="stx4" id="stx4" maxlength="4" size="4" style="width: 87px; height:30px; border:1px solid #dddddd;text-align:center;">
     </td>
    </tr>
   </table>
   <div class="btnArea">
    <input type="submit" class="btn_submit btn" value="조회하기">
   </div>
  </div>
</form>
</fieldset>

 

이 질문에 댓글 쓰기 :

답변 1

당연히 저렇게 하시면 $stx란 변수에는 사용자가 입력하기 전이기때문에 아무런값이없어 저대로 form을 보내버립니다

 

php는 한번읽고 끝입니다 동적언어가 아니에요 위에서 $stx를 선언하고 한번읽고 끝입니다

 

form을 보낼때 javascript로 사용자가 입력한 값을 stx에 담아서 보내는 방법을 사용하시거나 검색처리하는 곳에서 stx2,stx3,stx4의 GET값을 처리하는 방식을 만드시거나 해야지  지금 방법으로는 절대 $stx에 값이 안담아지기때문에 지금 코드는 상당히 잘못되었다고 볼 수 있습니다

<?
 $stx = "$stx1"." "."$stx2"."-"."$stx3"."-"."$stx4";
?>
라고 처음에 선언하셨는데

$stx1, $stx2, $stx3, $stx4의 변수에는 값이 전혀 없기때문에

$stx = " --";가 되어버립니다

이걸 그리고 hidden input에 담아버리구요

php는 한번 읽으면 끝입니다 그뒤에 동적인부분은 javascript로 조정을 해주셔야합니다

아뇨아뇨 그러니깐 저런방식으로는 $stx변수에 $stx1, $stx2, $stx3, $stx4값을 넣을수가없습니다

그냥 저대로 가버려요

앞서 말씀드렸듯이 php는 한번읽으면 끝이에요

검색을 처리할때 $stx1, $stx2, $stx3, $stx4를 받아와서 처리하는방식을 택하셔야지 지금은 완전 잘못되어있어요

답변을 작성하시기 전에 로그인 해주세요.
전체 22
QA 내용 검색

회원로그인

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