2012-08-06 3 views
0

URL 매개 변수에 약간의 문제가 있습니다.양식 매개 변수에서 url 매개 변수를 바꿉니다.

결과 목록을 얻기 위해 일부 데이터 만 검색하므로 GET 메서드를 사용하는 폼이 있습니다. 데이터는 어떤 방식 으로든 누구에게도 비밀이 아닙니다. 간단히 말해서, 나는 지붕에 몇 가지 측정 값을 입력 할 수 있으며 그 수는 얼마나 많은 rooftile 등을 산정하는데 사용됩니다. 양식에서 계산할 여분의 rooftile의 비율을 입력 할 수도 있습니다 (f.x). 3 % 추가 요금. 입력을 끝내고 계산을 누르면 다음과 같은 URL이 표시됩니다.

index.php?page=matliste&width=8&length=12&angle-1=45&extra=3&zip=9000&tagfod=tagfod&finish_stone=dv&topsten=utop&angle=45&mainhouse=1&house=1&rooftype=uu&lang=dk&rooftiletype=1&rid=1&producent=h 

여기에 3 %가 추가되었습니다. 그러나 양식으로 돌아가 f.x를 입력하면됩니다. 5 % 업데이트되지 않습니다.

extra=5&extra=3 

가 어떻게 기존의 매개 변수를 제거하고 새 번호로 새로운 하나를 삽입 할 수 있습니다 : 그것은 다음과 같이 보일 것입니다, 그래서 그냥 새 매개 변수를 삽입?

내가 양식 필드에서 쿼리 작성하려면이 옵션을 사용하고 있습니다 : 당신이 다시 형태로이 값을 스틱 브라우저가 당신을 위해 쿼리 문자열을 다시 보자,

if($_GET["newpage"] == "matliste") { 
    $get_elements = array_filter($_GET, "strlen");   

    $url = http_build_query($get_elements); 

    $search_pattern = array(); 
    $search_pattern[0] = "/([?&]newpage)=[^&]*/"; 
    $search_pattern[1] = "/([?&]next)=[^&]*/"; 
    $search_pattern[2] = "/angle_\d+/"; 

    $search_replacements = array(); 
    $search_replacements[0] = ''; 
    $search_replacements[1] = ''; 
    $search_replacements[2] = 'angle'; 

    $new_url = preg_replace($search_pattern, $search_replacements, $url); 

    header("Location: index.php?page=". $_GET["newpage"] ."&".$new_url); 
} 
+0

복제본 http://stackoverflow.com/questions/4100538/php-add-up-data-a-parameter-in-a-url/4101638#4101638 –

+0

예제와 함께 addUrlParameter를 어떻게 사용할 수 있는지 잘 모르겠습니다. –

+0

은 코드로 대체하십시오. 수정할 URL, URL 변수 이름 및 새 값을 전달하십시오. –

답변

0

를 대신 모든 일을 .

관련 문제