테스트 사이트 - 개발 중인 베타 버전입니다

글쓰기 폼에서 리스트 검색시 채택완료

아이존 7년 전 조회 1,894

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

 

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

$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">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

 

</p>

<p><script type="text/javascript">

function searchCheck()

{

 var frm = document.fsearch

 if(!frm.stx1.value)

 {

  alert("'이름'은 필수 입력사항입니다.")

  frm.stx1.focus();

  return false;

 }</p>

<p> if(!frm.stx2.value)

 {

  alert("'휴대전화번호' 식별번호는 필수 입력사항입니다.")

  frm.stx2.focus();

  return false;

 }</p>

<p> if(!frm.stx3.value)

 {

  alert("'휴대전화번호' 국번은 필수 입력사항입니다.")

  frm.stx3.focus();

  return false;

 }</p>

<p> if(!frm.stx4.value)

 {

  alert("'휴대전화번호' 뒷자리는 필수 입력사항입니다.")

  frm.stx4.focus();

  return false;

 }

</script></p>

<p>

<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";

?></p>

<p><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?>"></p>

<p> <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></p>

<p>

 

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
Policia
7년 전

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

 

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

 

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

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

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

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

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

php는 한번 읽으면 끝입니다 그뒤에 동적인부분은 javascript로 조정을 해주셔야합니다
아이존
7년 전
$stx1, $stx2, $stx3, $stx4의 변수 히든처리 해도 그러네요 ㅜㅜ
P
Policia
7년 전
아뇨아뇨 그러니깐 저런방식으로는 $stx변수에 $stx1, $stx2, $stx3, $stx4값을 넣을수가없습니다

그냥 저대로 가버려요

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

검색을 처리할때 $stx1, $stx2, $stx3, $stx4를 받아와서 처리하는방식을 택하셔야지 지금은 완전 잘못되어있어요
아이존
7년 전
자바스크립트로 해결했네요
감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인