2014-11-20 3 views
1

나는 내가 메이트 나를 위해 도와주세요URL에 변수 가져 오기?

dem/?p=user&act=stored 
dem/?p=user&act=changed 
dem/?p=user&act=deleted 

처럼 전달하는 대신 어떤이

"dem/?p=user" 

을 원하는

URL

에서 변수를 얻을 숨기려. 사전 감사합니다.

+2

에 당신은 당신이 URL 이리저리 백엔드에 전달되는 변수를 숨기기 위해 POST를 할 수 있습니다. 또한 정보를 백엔드에서도 읽을 수있는 쿠키로 설정할 수 있습니다. –

+0

'.htaccess'는 URL을 다시 작성합니다 – Rizier123

+0

사용자가이 URL을 어디에서 볼 수 있습니까? – dandavis

답변

5

GET 변수 또는 값을 사용하지 말아야합니다. GET. GET 방법에서는 데이터가 으로 항상의 일부로 보내집니다. 사용자가 데이터를 '숨기려면'(또는 URL에 표시하지 않으려면) POST 메소드를 사용해야합니다.

+0

친구, 변경 (삽입, 삭제, 업로드) 후, 페이지를 새로 고침하고 싶습니다. 변경 내용이 페이지에 반영되는 이유입니다. 그래서 (window.location.href = "? p = user & act = deleted") 사용하고 있습니다.그래서 마침내 어떻게 window.location 함수를 사용하여 post 메서드에서 변수를 전달합니다. –

1

당신은 다음 중 하나를 사용할 수 있습니다 :

  • 를 사용하여 POST 방식 대신 중 하나를 POST로
  • 를 사용하여 Ajax를, GET 또는 당신이 정말로 보내려 방법을
  • 를 사용하여 암호화 및 암호 해독을 GET 안전한 방법 즉 dem /? p = ENCRYPTED_STRING. 여기 ENCRYPTED_STRING 모든 GET 데이터
+0

젠장, 변경 (삽입, 삭제, 업로드) 후, 나는 페이지를 새로 고침하고 싶습니다. 변경 내용이 페이지에 반영되는 이유입니다. 그래서 (window.location.href = "? p = user & act = deleted") 사용하고 있습니다. 그래서 마침내 어떻게 window.location 함수를 사용하여 post 메서드에서 변수를 전달합니다. –

+0

여기에 URL로 전달하고 싶습니까? 그냥 다시로드하고 "사용자가 삭제되었습니다."라는 메시지를 표시합니다. 간단히 POST 메서드를 사용할 수 있습니다. 이 케이스를 처리하는 다른 현명한 더 좋은 방법은 Ajax입니다. 또 다른 방법은 삽입, 삭제, 나열 기능에 대해 서로 다른 페이지를 작성하는 것입니다. –

+0

나는 Ajax와 POSt 메소드를 이미 수행했다. 삭제 후에 delete msg가 수신되었지만, 아래 테이블 역시 삭제 된 사용자를 보여준다. 수동으로 페이지를 다시로드하면 해당 사용자 만 사라집니다. 마지막 것은 (경고를 사용하지 않고) msg와 업데이트 된 테이블 레코드 (사용자)를 얻고 난 후에 (del, ins, upd) 수행합니다. 나를 위해 –

-1

짧은 URL을 당신이 당신 페이지 구조가 얼마나 우리에게 시간을 고려하지 않았기 때문에 그들에게 분명히

+0

나는 htaccess에 대해 안다. 하지만 htaccess를 작성할 충분한 지식이 없습니다. 코드를 주거나 쓰는 방법을 도와주세요 ........ 감사합니다. –

1

처럼 보이게 할 방법을 만들기 위하여 htaccess로 파일을 수정을해야합니다 그리고 내가 어떻게 추측 할 수있는 가치를 저장하고 있는지.

서버 측

당신이 후 리디렉션 페이지에 데이터를 저장하는 경우 당신은 당신의 확인 페이지

session_start(); 
echo $_SESSION['message']; 

을에 나서 $_SESSION

session_start(); 
if (isset($_SESSION['message'])) 
{ 
    $_SESSION['message'] = "succes"; 
} 

에 저장할 수 있습니다 클라이언트 측

숨겨진 입력을 만들어 양식에 추가하고 양식을 게시하도록 설정하고 양식 작업 페이지에서 $_POST 값을 처리 할 수 ​​있습니다.

var x = document.createElement("INPUT"); 
x.setAttribute("type", "hidden"); 
x.setAttribute("name", "message"); 
form.appendChild(x); 

그런 다음 확인 페이지

if (isset($_POST['message'])) 
{ 
    echo $_POST['message']; 
}