php에서 버튼을 눌렀을 때 사용 중 이던 변수와 함께 다른 페이지를 호출 하는 방법좀 알려 주시면 감사하겠습니다.
사용 중 이던 변수라 함은 입력받은 변수가 아니고 페이지 내부에서 사용하던 변수입니다.
<form action="index.php?q=verify" method="post"> ... <input type="hidden" name="변수명" value="$페이지_내부_변수명" /> <button type="submit">전송</button> </form>
소스에 나타나는게 싫다면 세션 변수를 만들수도 있습니다:
<?php session_start(); ... $_SESSION["변수명"] = $페이지_내부_변수명; ?>
하지만 이것도 브라우저 설정에서 다 보입니다. 애초에 비밀번호같이 보이면 안되는 정보는 페이지에서 페이지로 전달(?)하면 위험합니다. 데이터베이스에 저장해놓고 그때그때 빼서 쓰는게 안전하죠.
---------------------------------------------------- 이상 초보의 답변입니다. 틀린점이 있으면 지적해주세요
--- “내게 능력주시는 자 안에서 내가 모든 것을 할 수 있느니라.”(빌립보서 4:13)
정말 감사합니다. 잘 될 것 같군요. password에 쓸려는 것은 아니고 달력에 버튼을 달아 앞 뒤 달로 넘기는 기능을 추가하고 싶어서 그랬습니다.
form태그를 쓰기가 좀 그렇다면 그냥 url에다가 같이 달아서 보내는 방법도 있습니다:
<div data-role="header" data-theme="f"> <a href="?q=calendar&month=<?php echo $prev; ?>">이전 달</a> <p><strong><?php echo $this->year . '년' . $this->month . '월'; ?></strong></p> <a href="?q=calendar&month=<?php echo $next; ?>">다음 달</a> </div>
<?php ... // month 변수를 GET으로 받아옴 // 특정형식에 맞지 않으면 예외처리 // 바른 형식: yyyymm 예: 201205 if(!verify_int($_GET["month"], 6)) throw new Exception("잘못된 요청입니다."); $this->year = intval(substr($_GET["month"], 0, 4)); $this->month = intval(substr($_GET["month"], 4, 2)); if(empty($this->year) || empty($this->month) || !checkdate($this->month, 1, $this->year)) throw new Exception("잘못된 요청입니다."); $this->wday = intval(date("w", strtotime($this->year . "-" . $this->month . "-1"))); ... ... // 숫자가 특정한 자리수인지 판별 function verify_int($str, $length = 0) { if(!$length) return preg_match("/^[0-9]+$/", $str); else return preg_match("/^[0-9]{" . $length . "}$/", $str); } ?>
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
그냥 hidden form을 만드는것도 괜찮을듯...
submit 버튼을 누를때 같이 보낼수 있죠. 물론 소스보기하면 다 나옵니다.
소스에 나타나는게 싫다면 세션 변수를 만들수도 있습니다:
하지만 이것도 브라우저 설정에서 다 보입니다.
애초에 비밀번호같이 보이면 안되는 정보는 페이지에서 페이지로 전달(?)하면 위험합니다.
데이터베이스에 저장해놓고 그때그때 빼서 쓰는게 안전하죠.
----------------------------------------------------
이상 초보의 답변입니다. 틀린점이 있으면 지적해주세요
---
“내게 능력주시는 자 안에서 내가 모든 것을 할 수 있느니라.”(빌립보서 4:13)
정말 감사합니다. 잘 될 것
정말 감사합니다. 잘 될 것 같군요.
password에 쓸려는 것은 아니고 달력에 버튼을 달아 앞 뒤 달로 넘기는 기능을 추가하고 싶어서 그랬습니다.
form태그를 쓰기가 좀 그렇다면
form태그를 쓰기가 좀 그렇다면 그냥 url에다가 같이 달아서 보내는 방법도 있습니다:
물론 이런 경우엔 받는 쪽에서 필터링을 잘 해줘야겠죠. (악의를 가진 사람이 url에 month=-1.5를 넣는다면?)
---
“내게 능력주시는 자 안에서 내가 모든 것을 할 수 있느니라.”(빌립보서 4:13)
댓글 달기