2012-02-03 6 views
0

저는 워드 프레스를 처음 사용하고 워드 프레스에서 다른 페이지로 데이터를 전송하려고합니다. PHP를 사용하여 양식 데이터를 Wordpress 페이지에 게시했습니다. 내 코드 :워드 프레스 페이지간에 데이터를 전달하는 방법

<form method='post' action='http://www.example.com/www/create_website/'> 
..... 
<input type ='submit' value = 'OK'/> 
</form> 

하지만 제출 버튼을 클릭 할 때마다 오류 페이지를 찾을 수 없습니다. 왜 링크가 브라우저에서 페이지를로드하지만 양식 게시를 위해 작동하지 않으므로 그렇게됩니다. 어떻게 문제를 해결할 수 있습니까 ???

+0

브라우저에서 URL이 작동합니까? –

+0

예. 나는 질문 게시판에서 그것을 언급 한 작품 ... – Rajat

+0

귀하의 Wordpress 페이지는 아마 다음 리디렉션하고있다. 제출을 누른 후에 브라우저 바에 어떤 URL이 있습니까? –

답변

2

WordPress 페이지 중 하나를 선택해야하는 경우 직접 링크를 삽입하지 마십시오. 대신 그 대신 아래의 PHP 코드를 넣어.

<form method='post' action='<?php bloginfo('url'); ?>/your-page-name/' > 

당신이 당신의 템플릿 디렉토리 내의 특정 파일에 가고 싶어하면

는 아래의 코드를

<form method='post' action='<?php bloginfo('template_url'); ?>/your-page.php' > 

확인이 WordPress codex page for more about bloginfo을 넣어.

<?php bloginfo('url'); ?> 

은 기본 사이트 URL을 생성합니다.

3

이렇게하는 방법을 알아 내려고 하루 정도를 보냈다면, 나는 stackoverflow 커뮤니티의 다른 사람들에게 도움이 될 것이라고 생각했습니다.

목표 : 양식 필드에서 결과를 가져 와서 다른 페이지에서 사용합니다. 이 예에서 고객은 사용자가 텍스트 필드의 금액을 입력하여 Paypal 결제를 할 수 있기를 원합니다. 나는 S2Member 플러그인을 사용하여 버튼을 만들고 Paypal 지불금을 지불하지만,이 기능을 제공하지 않았다. 여기에서 실제로 작동하는 것을 볼 수 있습니다 :
http://virginiabloom.com/?page_id=250. 그러나 그것은 살아 있습니다. 페이팔 결제를 시작하면 귀하의 계정에서 돈을 공제합니다. 버지니아를 매우 행복하게 만들 것입니다. 어떻게 작성 했습니까? 먼저이 필드에 대한 양식을 만들었습니다. 기타 결제 금액 $

다음을 입력, I에 유래에 대한 매우 간단한 플러그인을 발견하고 내 요구에 적응 :

<?php 
/* 
Plugin name: redirect on post 
Desciption: 

http://stackoverflow.com/questions/13686245/how-to-create-a-custom-url-based-on-dropdown-in-wordpress-form-submission 
I-changed-dropdown-to-field-input 
*/ 
function redirect_on_submit() { 
    // check if the post is set 
    if (isset($_POST['amount']) && ! empty ($_POST['amount'])) 

{ 
    header("Location: yourUrl.com/? 

page_id=542&amount=" . $_POST['amount']); 
    } 
} 
add_action('init', redirect_on_submit); 

참고 : 헤더에서 페이지의 URL과 ID 정보를 변경하는 것은 가리 키도록 정보를 보내려는 WordPress 페이지. 플러그인을 수동으로 설치하는 방법을 모른다면 매우 간단합니다. 스 니펫을 .php 파일로 저장하십시오. 호스팅 계정을 열고 plugins 폴더를 찾으십시오 (wp-content 폴더에 있음). 파일을 폴더에 복사하십시오. Wordpress로 돌아가서 플러그인을보세요. 당신은 그것을 거기에서보아야합니다. 활성화되어 있지 않으면 활성화하십시오.

내가 다른 플러그인 설치 : 그것을 설치 한 후 이 게시물 및 페이지에 PHP를 허용 (버전 3.0.4)

를, 플러그인은 워드 프레스 메뉴에 나타납니다. 오픈하면 코드 조각 안에 php를 넣을 스 니펫 메이커를 사용할 수 있습니다. 구성 :
이 조각을보기 메시지를 찾을 수 없습니다 : 없음 를 사용하여 고급 필터 방법 : 예 (디버깅을 위해) 이전 (pre.2.2 코드를 사용 예 설치의 모든 플러그인 데이터를 제거 : 더 당신은 볼해야 코드 스 니펫 상자가 페이지 하단에 나타납니다. 내 스 니펫은 간단했습니다. 난 그냥 페이지 URL에서 "금액"매개 변수를 에코 싶었어요. 그래서 다음과 같이 보입니다 :

echo $_GET['amount']?> 

끝 부분의 php 태그는 넣어야하지만 시작 태그는 넣지 않아야합니다. 이제이 매개 변수를 가져올 페이지의 짧은 코드 [php function = 1]을 사용하십시오.

내 결과 페이지의 모양은 다음과 같습니다.

<h2>Payment of $ [php function=1]</h2> 
<strong><em>Click Paypal button to start payment or cancel.</em></strong> 
[s2Member-PayPal-Button sp="1" ids="xxx" exp="24" desc="Payment" ps="paypal" lc="" cc="USD" dg="0" ns="1" custom="yoururl.com" 
ra="[php function=1]" image="default" output="button" /] 

사용자가 십진수로만 입력 할 수 있도록 양식에서 jQuery 유효성 검사를 사용했습니다. 다른 방법이 있지만 매우 간단합니다. 이 코드를 아래에 포함 된 양식의 페이지에 넣으십시오.

<form id="myform" action="http://virginiabloom.com/?page_id=542" method="post"><span style="font-size:1.5em;">Enter Other Payment Amount $</span><input id="amount" class="left" name="amount" type="text" /><input type="submit" value="Submit" /></form> 

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
<script src="http://jquery.bassistance.de/validate/jquery.validate.js"></script> 
<script src="http://jquery.bassistance.de/validate/additional-methods.js"></script> 
<script> 
$("#myform").validate({ 
    rules: { 
    amount: { 
     required: false, 
     number: true 
    } 
    } 
}); 
</script> 

그게 전부 야! 나는 이것이 누군가를 돕기를 바랍니다.