채택완료

조금전 GET값에 관련하여 질문하였는데 또 다른 궁금증이 있어 질문올립니다.

2017-02-24 (금) 11:57:03 3,577

<tr>

    <th scope="row"><label for="wr_11">모델명<strong class="sound_only">필수</strong></label></th>

    <td>

        <select name="wr_11" id="wr_11">

        <?php 

        if($w=='u'){ 

            $sql2 = "select * from g5_write_sub01_03 where wr_6='".$write['wr_content']."' and wr_5 = '".$write['wr_5']."' ";

            $res2 = sql_query($sql2);

            while($row2 = sql_fetch_array($res2)){?>

            <option value="<?=$row2['wr_subject']?>" <?=$row2['wr_subject']==$write['wr_11'] ? 'selected': '' ?>><?=$row2['wr_subject']?></option>

            <?php

            }

        } ?>

        </select> * 분류를 선택하시면 등록된 장비가 확인됩니다.

    </td>

</tr>


이부분은 A라는 스킨에 write.skin.php 에 내용입니다.



<tr>
    <th scope="row"><label for="wr_3">시리얼<strong class="sound_only">필수</strong></label></th>
    <td>
        <input type="text" name="wr_3" value="<?php echo $write['wr_3']?>" id="wr_3" required class="frm_input required" size="20" maxlength="255">
    </td>
</tr>

그리고 이것은 B라는 스킨의 write.skin.php 부분입니다.


그리고 bbs에 C라는 파일을 생성하여

$wr_11 = $_GET['wr_11'];
$wr_3 = $_GET['wr_3'];

이렇게 불러오는데요
(wr_11과 wr_3d은 각각 다른 테이블)

wr_11값은 불러와지고 wr_3값은 안불러와진다고 했는데

unset()으로 인하여 기본제공되는 wr_3은 파괴되어서 안불러와 지는걸로 이해를 했는데,

만약에 wr_11이 기본에 제공되는 wr_1~wr_10사이의 변수라면

wr_11도 안불러와지는건가요?

아니면 get값이 불러와지도록 write파일에서 소스를 수정해줘야하는건가요..?

제가 아직 확실하게 정리가 되지 않아서 확실하게 정리하고싶어서 다시 질문올립니다.

혹시 이부분에 대해 어떤식으로 검색을 하면 잘 나오는지도 알려주시면 감사하겠습니다.


|

답변 2개 / 댓글 2개

채택된 답변
+20 포인트

애초에 말씀하신부분에 오류가있는것같은데..

A라는 게시판에서 버튼?을 누르면 bbs폴더에 c라는 파일에서

wr_11을 get으로 받아오겠죠?

그럴경우에는 당연히 wr_11이 있을테고 wr_3은 없지요

마찬가지로 b라는 게시판에서 버튼을 눌러서 동작시키면

bbs폴더에 c파일에는 wr_3이 get으로 넘어옵니다.

그럴경우에는 당연히 wr_11을 get으로 보내주지 않았기에 wr_11은 없는값이되죠

마찬가지로 A게시판에서 wr_11과 wr_3을 get으로 보내서 C파일에서 확인해보세요

제가 테스트삼아서 게시판 list.skin.php 파일의

글쓰기 버튼의 링크에 wr_3을 get으로 넘겨봤습니다.

<a href="<?php echo $write_href ?>" class="btn_b02">글쓰기</a> 의 부분을 

<a href="<?php echo $write_href ?>&wr_3=testest" class="btn_b02">글쓰기</a> 이렇게 보냈습니다. 

49fc73960fabb38236128d7e2e93a369_1487908267_7113.png
 

위의 사진처럼 주소창에 정확하게 wr_3=testest라고 get으로 받아왔습니다.

common.php 파일의 unset과는 무관하게 작동합니다.

마지막으로 해당 게시판의 스킨이라고 하셨는데

게시판의 글쓰기 페이지에서는 get으로 보내는 소스가 전혀없습니다.

물론 기본 basic게시판에 한해서 말씀드립니다..

게시판 글쓰기 form을보면

    <!-- 게시물 작성/수정 시작 { -->

    <form name="fwrite" id="fwrite" action="<?php echo $action_url ?>" onsubmit="return fwrite_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off" style="width:<?php echo $width; ?>">

보시다 시피 post로 값을 보냅니다

이부분을 get으로 바꾸어서 보냈다는건지

아니면 새로 작성한 form이 있다고 가정하면 그 form에서는 get으로 보냈는지

그런 확인이 필요할듯하네요

post는 주소창에 나타나지않고

get은 주소창에 직접 get변수가 찍혀있습니다.

답변에 대한 댓글 1개

아.. 덕분에 어느정도 정리가 된것같습니다. 바쁘신데 자세히 답변해 주어서 감사드립니다.!

get 변수는  unset() 과 상관없습니다.

$wr_3 = $_POST['wr_3'];  로 받아보세요.. 

답변에 대한 댓글 1개

테스트해보도록 하겠습니다. 답변감사합니다.

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