페이지 이동 시 변수값 전달

페이지 이동 시 변수값 전달

QA

페이지 이동 시 변수값 전달

답변 3

본문

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

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

check.php


 <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


<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


<?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

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

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

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

 

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

 

a.php


<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


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

 

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

 

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

 

aa.php


<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


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

 

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

 

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

 

aaa.php


<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


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

 

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

 

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

 

 

aaaa.php


<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


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

 

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

 

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

페이지 이동시에도 

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

 

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


<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로 전달하는 예시입니다


<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 으로 링크방식 예시입니다


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

 

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


<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="선택" >

 

 

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 에 저장하고 불러오려고 했는지를..

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

 

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 67
© SIRSOFT
현재 페이지 제일 처음으로