테스트 사이트 - 개발 중인 베타 버전입니다

페이지 이동없이 url get 파라미터 변경방법 채택완료

morrie 5년 전 조회 3,796

http://localhost/main/service/product_view.php?it_id=1583393222&ca_id1=&ca_id2=3&ca_id3=&ca_name1=&ca_name2=SKT&ca_name3=#">http://localhost/main/service/product_view.php?it_id=1583393222&ca_id1=3&ca_id2=3&ca_name1=SKT&ca_name2=SKT

 

index.php 에서 product_view.php로 페이지 넘어갈때 url로 get파라미터를

ca_id1, ca_id2, ca_name1, ca_name2에 담아서 보냅니다.

 

product_view.php 페이지에서 페이지이동없이get으로 받아온 ca_id1, ca_name1에 담겨 온 값을

버튼을 누를때마다 버튼에 들어있는 값으로 변경되게 하고 싶은데

ajax로 해보려고 하는데 구글링을 해도 파라미터 변경하는건 안나와서요.

url 파라미터 변경 방법 없나요?

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

답변 2개

채택된 답변
+20 포인트
5년 전

pushstate를 활용하면 가능하지만 말씀하신 내용은 php의 값을 페이지 이동 없이 변경하고 싶다는 뜻인것 같네요. php같은 서버언어는 한번 실행하면 그대로 끝이며 실행이 끝난 페이지의 값을 입력하거나 변경하는건 할 수 없습니다. 아예 불가능한 방법입니다. php에서 페이지 이동 없이 값이 변경되거나 입력처리를 하는것처럼 보이게 하려면 ajax를 사용하셔서 해당 처리만을 별개로 하는 php를 하나 더 생성하셔서 작업하셔야 합니다.

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

답변에 대한 댓글 1개

m
morrie
5년 전
답변 감사합니다.
안되는 방법이었군요....

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

5년 전

ca_id1, ca_name1 값을 변경하려는 이유가 무엇인가요?

1,2차 카테고리 콘트롤을 하고 싶으신 건가요?

말씀하시는 버튼이 클릭되고 난 후의 원하시는 동작이 뭔가요?(조금 잘못 접근하시는 것 같습니다.)

php 변수들은 로딩되고 나면 변수를 컨트롤 할 수가 없습니다.

(서버에서 브라우저로 페이지를 내려 보내 줄때는 변수를 모두 파싱하여 브라우저에서는 변수가 아닌 변수의 실제 값으로 변경하여 보내 줍니다. 그래서 브라우저에서는 php 변수의 존재를 모릅니다 파싱된 실제 값만 알 뿐이죠) 

 

 

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

답변에 대한 댓글 6개

m
morrie
5년 전
메인페이지에서 ca_id1, ca_name1 값을 페이지이동시 보내면 이 파라미터의 값으로 인하여 가입유형이 정해집니다. (기기변경, 번호이동)
그걸 product_view.php에서 ca_id1, ca_name1 파라미터를 변경함으로 인해서
가입유형을 변경하게 하고 싶어서요.
닥시
5년 전
@morrie
product_view.php에서 가입유형을 바꿔서 DB에 저장하는 건가요? (폼을 작성하여 저장하는 건가요?)
아님 가입유형이 변경되어 다시 조회가 되는 건가요?
m
morrie
5년 전
가입유형을 바꿔서 DB에 저장하는것은 아니구요.
폼을 작성하여 저장하는것도 아닙니다.
가입유형이 변경되어 다시 조회가 된다고 보는게 가장 근접한것 같습니다.
그런데 다시 조회가 메인으로 나갔다가 다시 들어오는건 가능한데 이걸 원하는게 아니고
페이지 이동없이 되는걸 원해서요.

DB에 가입유형 등 필요한 정보는 다 저장되어 있고
그 DB를 ca_id1, ca_name1에 들어있는 값에 따라 가입유형DB의 정보를 불러와 표시를 해주는 형식으로 만들고 싶어서 시도중입니다.
이 방식이 불가능 하다고 해서 다른방법을 찾고 있는중인데....
해결이 안되고 있네요...
닥시
5년 전
그럼 그냥 url 파라메터 변경하여 그 페이지 다시 부르면 되는거 아닌 가요?

http://localhost/main/service/product_view.php?it_id=1583393222&ca_id1=3&ca_id2=3&ca_name1=SKT&ca_name2=SKT

여기서 ca_id 나 ca_name 이 변경되어서 페이지로 들어오는 거랑 같은 거 아닌가요?.
어차피 get으로 호출하니 동일 url에서 원하는 파라메터만 변경해서 호출하면 될 거 같은데.. 제가 잘못 이해하고 있나요?
m
morrie
5년 전
계속해서 답변 해주셔서 정말 감사드려요.
닥시님때문에 한고비는 넘겼습니다.
답변보고 페이지 다시부르는 방식으로 작업해서 선택은 했습니다.
너무 감사드려요. 휴... 하나 할때마다 왜케 힘든지... 아직 이정도의 능력이 안되는데 맡아버려서 고생이란 고생은 다하고 있네요.
닥시
5년 전
@morrie
해결되셨다니 다행입니다.
처음에는 뭐든 다 힘들죠.
차근차근 하시면 됩니다.
화이팅!

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

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

로그인