페이지 이동 시 변수값 전달
본문
안녕하세요 제가 페이지 이동하면 값도 전달이 되게 하고 싶은데 방법을 잘 모르겠습니다 ㅠㅠ
페이지 이동없이 아래 코드대로 했을 경우에는 값이 제대로 나옵니다. 그 값이 페이지가 이동이 되었을때도 값이 제대로 표출이 되게 하고 싶습니다! 어떻게 해야할까요
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 에 저장하고 불러오려고 했는지를..
정리하는 내용으로 질문글을 새로 올려보는 것이 좋아 보입니다.