2013-03-15 1 views
4

하나의 wordpress 템플리트 양식에서 다른 양식으로 날짜를 전달하려고합니다. 다음과 같이 간단하게하기 위해, 나는 두 개의 템플릿을 생성 (그리고 표준 페이지로 WP 페이지로 연관) 한 :워드 프레스 템플리트의 한 페이지에서 다른 페이지로 변수 보내기

<?php 
/* 
Template Name: Form test 
*/ 
get_header(); 
?> 

<form action="/form-result/" method="post"> 
<input type="text" name="name" size="20" /> 
<input type="submit" value="Go" /> 
</form> 

<a href="/form-result/">Result page</a> 

<?php get_sidebar(); ?> 
<?php get_footer(); ?> 

<?php 
/* 
Template Name: Form result 
*/ 
get_header(); 
$name = $_REQUEST['name']; 
?> 

And the name is <?=$name?> 

<?php get_sidebar(); ?> 
<?php get_footer(); ?> 

나는 텍스트 링크 결과 페이지 I를 클릭하면 /form-result/ 페이지로 이동하지만, 양식을 제출하면 페이지에 오류가 발견되지 않습니다. 확인한 후에 한 페이지에서 다른 페이지로 변수를 전달하려고하면 문제가 발생한다는 것을 알게되었습니다.

Pusing 추가로, <a href="/form-result/?name=Elodie">Result page</a>에 오류 페이지가 표시되는 반면 <a href="/form-result/">Result page</a>은 다음 페이지로 올바르게 이동한다는 것을 알았습니다.

아마도 나는 작은 것을 놓치고 있습니다.

여기에 어떤 도움이 필요합니까? 그래서 같은 형태 안에 결과 페이지에 대한 링크를 추가

+0

"페이지를 찾을 수 없음"(404) 오류가 발생합니까? –

+0

@s_ha_dum, 죄송합니다. 업데이트되었습니다. – Jeremy

+0

예 @Ken. 맞아. – Jeremy

답변

5

문제가 해결되었습니다. 그것은이 테스트를 위해 사용했던 변수 "name"이 WP 키워드이고 템플릿 이름을 의미합니다. 템플릿 이름이 없으면 URL 슬러그의 시작 부분이 변수 이름과 일치하는 다른 페이지를 찾습니다.

변수 이름을 변경 했으므로 제대로 작동했습니다.

0

시도 :

if(isset($_POST['submitted'])) { 
$name = $_POST['name']; 

} 

가 제출을 통해 양식을 게시 할 필요가 양식 데이터를 전달하려면 :

<button type="submit" name="submitted" id="submitted" class="submit">Submit</button> 

및 결과 페이지에

. 이 같은 jQuery를 사용하여 외부에서 작업을 수행 할 수 있습니다

$el.click($('#form_name').submit()); 

-d

+0

이것은 @Darren을 돕지 않습니다. – Jeremy

1
<?php 
/* 
Template Name: Form 
*/ 
?> 

<?php get_header(); ?>  

<form action="/form-result/" method="post"> 
    <input type="text" name="name" size="20" /> 
    <input type="submit" value="Go" /> 
</form> 

<a href="/form-result/">Result page</a> 

<?php get_sidebar(); ?> 
<?php get_footer(); ?> 

은 결과 페이지를 수정합니다.

<?php 
/* 
Template Name: Form Result 
*/ 
?> 

<?php get_header(); ?>  

<?php if(isset($_POST['name'])) { 
    echo $_POST['name']; 
} ?> 

<?php get_sidebar(); ?> 
<?php get_footer(); ?> 
+1

@Khairul이 작동하지 않습니다. – Jeremy

관련 문제