페이지 이동 시 변수값 전달 채택완료

안녕하세요 제가 페이지 이동하면 값도 전달이 되게 하고 싶은데 방법을 잘 모르겠습니다 ㅠㅠ

페이지 이동없이  아래 코드대로 했을 경우에는 값이 제대로 나옵니다.  그 값이 페이지가 이동이 되었을때도 값이 제대로 표출이 되게 하고 싶습니다! 어떻게 해야할까요 

check.php

Copy
<div>

   <div style=" display: grid;  grid-template-columns: repeat(5, 150px ); margin:15px; text-align:center;">

   <input type="radio" name=" radio_cl" class="radio_cl">     

      <div><?php echo $adm_drug_code[$i]?></div>

      <div><?php echo $adm_administer[$i]?></div>

      <input type="button" onclick="medicine_info(this)" class="frm_input" data-code="<?php echo $adm_drug_code[$i]?>" 

      data-administer="<?php echo $adm_administer[$i]?>" value="선택" ></input>

  </input>

  </div>

</div>

<?

}

?>

write.skin.php

Copy
<script>

       

        function medicine_info(e){

            console.log("success");

            console.log($(e).data('code'));

            console.log($(e).data('administer'));

            let result=confirm("선택 하시겠습니까?")

            if(result){

            }else{

                location.reload();

            }

            

 

            $.ajax({

                                url : " http://localhost/bbs/dataloader/test3.php",

                                type : "post",

                                data : {

                                    wr_a : $("#wr_1").val(),

                                    wr_b : $(e).data('code'),

                                    wr_c : $(e).data('administer'),                               

                                },

                                success : function(res) {

                                    if(res) {

                                        $("#co_result22").html(res);

                                        //alert("성공")

                                        console.log(res)

                                    }

                                }

                        });

                    };       

    </script>

   <div id="co_result22" class="co_result22" style="margin-left:35px; ">

    </div>

test3.php

Copy
<?php

include_once('./_common.php');

$wr_a=$_POST["wr_a"];

$wr_b=$_POST["wr_b"];

$wr_c=$_POST["wr_c"];


 

$result = sql_query("select distinct oral_usage.selected_value_for_calc, fish_drug.method_for_using_drug, 

                    manufacturing_company.company_name, fish_disease.disease_name, 

                    fish_species.species_name, fish_drug.time_off_for_drug_value, 

                    fish_drug.caution_desc,fish_drug.drug_residual_allowance_value

                    from fish_drug 

                    join active_ingredients_by_drug

                    on fish_drug.drug_code = active_ingredients_by_drug.drug_code 

                    join active_ingredient 

                    on active_ingredient.ingredient_code = active_ingredients_by_drug.active_ingredient_code 

                    join administration_method

                    on fish_drug.drug_code = administration_method.drug_code 

                    join fish_species

                    on fish_species.species_code = administration_method.species_code 

                    join manufacturing_company

                    on fish_drug.manufacturing_company_code=manufacturing_company.company_code

                    join fish_disease

                    on fish_disease.disease_code = administration_method.disease_code

                    join oral_usage

                    on fish_disease.disease_code = oral_usage.disease_code

                    where fish_disease.disease_name='".$wr_a."' and fish_drug.drug_name='".$wr_b."' and administration_method.method_to_administer='".$wr_c."'");

for ($i=0; $row=sql_fetch_array($result); $i++) {

 

  // $d_code[]= $row['disease_code'];

  // $d_name[]= $row['disease_name'];

  // $adm_spe_code[]= $row['species_code'];

  $a[]= $row['selected_value_for_calc'];

  $b[]= $row['method_for_using_drug'];

  $c[]= $row['company_name'];

  $d[]= $row['disease_name'];

  $e[]= $row['species_name'];

  $f[]= $row['time_off_for_drug_value'];

  $g[]= $row['caution_desc'];

  $h[]= $row['drug_residual_allowance_value'];

  

   

  // echo $feed_name;

 

 

?>

<div><?php echo $a[$i]?></div>

      <div><?php echo $b[$i]?></div>

      <div><?php echo $c[$i]?></div>

      <div><?php echo $d[$i]?></div>

      <div><?php echo $e[$i]?></div>

      <div><?php echo $f[$i]?></div>

      <div><?php echo $g[$i]?></div>

      <div><?php echo $h[$i]?></div>

 

 

 

 

<?

}

?>

답변 3개

채택된 답변
+20 포인트

그냥 아주 일반적인 예로 설명을 하자면...

a 페이지에서 b페이지로 값을 넘기는 방식은 크게 4가지가 있습니다.

쉬운예제로 이미지주소를 하나 넘겨서 이미지태그를 걸어 보겠습니다.

1. form - input 에 name 을 주고 POST 로 넘기는 방식

a.php

Copy
<form action=b.php method=POST>
    <input type=text name=my value=https://blog.kakaocdn.net/dn/cMVe4H/btq5RuQIRfF/DkSPyZQhLMVpy26P86Sp40/img.jpg style=width:600px>
    <input type=submit value=전송 style=cursor:pointer>
</form>

b.php

Copy
<?php
$img = $_POST['my'];
?>
<img src=<?php echo $img; ?> style=width:400px>

--------------------

1. form - input 에 name 을 주고 GET 으로 넘기는 방식

aa.php

Copy
<form action=bb.php method=GET>
    <input type=text name=my value=https://blog.kakaocdn.net/dn/cMVe4H/btq5RuQIRfF/DkSPyZQhLMVpy26P86Sp40/img.jpg style=width:600px>
    <input type=submit value=전송 style=cursor:pointer>
</form>

bb.php

Copy
<?php
$img = $_GET['my'];
?>
<img src=<?php echo $img; ?> style=width:400px>

--------------------

3. input 에 id 를 주고 GET변수를 링크로 딸려보내는 방식

aaa.php

Copy
<input type=text id=my value=https://blog.kakaocdn.net/dn/cMVe4H/btq5RuQIRfF/DkSPyZQhLMVpy26P86Sp40/img.jpg style=width:600px>
<script>
function myMove() {
    location.href = "bbb.php?my=" + my.value;
}
</script>
<button onclick=myMove() style=cursor:pointer>클릭</button>

bbb.php

Copy
<?php
$img = $_GET['my'];
?>
<img src=<?php echo $img; ?> style=width:400px>

--------------------

4. 자바스크립트에서 로컬스토리지나 세션스토리지의 변수로 저장한 후 링크하는 방식

aaaa.php

Copy
<input type=text id=my value=https://blog.kakaocdn.net/dn/cMVe4H/btq5RuQIRfF/DkSPyZQhLMVpy26P86Sp40/img.jpg style=width:600px>
<script>
function myMove() {
    sessionStorage.saveData = my.value;
    location.href = "bbbb.php";
}
</script>
<button onclick=myMove() style=cursor:pointer>클릭</button>

bbbb.php

Copy
<script>
document.write("<img src=" + sessionStorage.getItem('saveData') + " style=width:400px>");
</script>

--------------------

상황에 맞추어 본인이 원하는 형태로 넘겨주면 됩니다.

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

답변에 대한 댓글 1개

네네 감사합니다 ㅠㅠㅠㅠ post 방식으로 테스트 하면 값이 넘어가는것을 확인했습니다!

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

https://sir.kr/qa/425707 글을 보고.. 여기에 글을 올립니다.

질문의 내용을 이해하기가 매우 어렵습니다.

질문자체가 이해되지 않기 때문에.. 답변을 달 수 있는 이는.. 거의 없을 것으로 생각됩니다.

그럼에도.. 답변을 달 수도 있는 분이 혹 있을 수도 있기 때문에..

저의 의견을 여기에 올립니다.

write.skin.php 에서 write.skin.php 로 form 값을 전송하는 경우는 거의 없는 편입니다.

일반적인 경우는, 폼페이지 -> 처리 페이지입니다.

ex. 글쓰기 (폼) 페이지 : write.php -> 글쓰기 처리 페이지  : write_update.php

write.skin.php 페이지에서 자기 자신의 파일 write.skin.php 를 submit 하는 이유를 이해하기가 어렵습니다.

ajax 처리 페이지를 통해서 <form>~ </form> 태그를 불러오는 경우도 거의 없습니다.

ajax 처리 페이지는.. 페이지 이동없이 DB 에 있는 내용을 보여주거나 DB 에 저장을 하거나 할때 주로 쓰이는 편입니다.

ajax 처리 페이지에서 <form> ~ </form> 태그를 불러오는 이유도 이해가 어렵습니다.

form 이나 ajax 같은 디테일한 테크닉적인 질문보다는..

;어떤 업무를 처리하고자 하는지'가 질문의 내용에 포함되는 것이 좋을 것 같습니다.

그래서 제 생각에는.. 

그누보드 원래의 글쓰기 페이지인 write.skin.php 페이지에서..

ajax 처리를 통해서는 어떤 처리를 하고자 하였고,

기존의 write.skin.php 에서 어떤 추가 내용을 DB 에 저장하고 불러오려고 했는지를..

정리하는 내용으로 질문글을 새로 올려보는 것이 좋아 보입니다.

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

답변에 대한 댓글 1개

네 감사합니다ㅜㅜ 하고자 했던건 write.skin 에서 검색을 하고 나온 결과값에 대한 정보가 다른페이지에 표출이 되고 표출된 내용중에 직접 입력해야 되는 부분이 있어서 페이지를 이동해서 해볼까 하였는데 무리한걸 하려고했었던 거 같습니다! 알려주셔서 감사합니다 !!ㅠ

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

페이지 이동시에도 

co_result22에 결과값이 뿌려지려면 
medicine_info 함수가 이동한 페이지에서도 값을 전달받아 실행되야 합니다

아래에 설정되는 값을 이동하는 페이지에 변수로 전달하여 함수를 실행하는 방식이 좋을듯하네요

Copy
<input type="radio" name=" radio_cl" class="radio_cl">     
      <div><?php echo $adm_drug_code[$i]?></div>
      <div><?php echo $adm_administer[$i]?></div>
      <input type="button" onclick="medicine_info(this)" class="frm_input" data-code="<?php echo $adm_drug_code[$i]?>" 
      data-administer="<?php echo $adm_administer[$i]?>" value="선택" ></input>
  </input>

POST로 전달하는 예시입니다

Copy
<form name="form1" id="form1" method="POST" action="./movePage.php">

<input type="hidden" name="adm_drug_code" value="<?php echo $adm_drug_code[$i]?>" >

<input type="hidden" name="adm_administer" value="<?php echo $adm_administer[$i]?>" >

<input type="submit" value="이동">

</form>

GET 으로 링크방식 예시입니다

Copy
<a href="./movePage.php?adm_drug_code=<?php echo $adm_drug_code[$i]?>&adm_administer=<?php echo $adm_administer[$i]?>">이동</a>

movePage.php 에는 기존과 동일하게 소스를 넣고 아래 부분만 변수명을 변경해 보세요

Copy
<input type="radio" name=" radio_cl" class="radio_cl"> 

<div><?php echo $_REQUEST[adm_drug_code]?></div> 

<div><?php echo $_REQUEST[adm_administer]?></div> 

<input type="button" onclick="medicine_info(this)" class="frm_input" data-code="<?php echo $_REQUEST[adm_drug_code]?>" data-administer="<?php echo $_REQUEST[adm_administer]?>" value="선택" >
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

실행은 다시 해봐야 될거 같은데 도움주셔서 감사합니다 ㅠㅠㅠ

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

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

로그인
🐛 버그신고