2012-02-03 10 views
0

私はワードプレスを初めて使い、ワードプレスのあるページから別のページにデータを転送したい。私は私のフォームデータをWordPressのページに投稿するためにPHPを使用しました。私のコードは次のとおりです。ワードプレスのページ間でデータを渡す方法

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

しかし、私は私が見つからないエラーページを持って送信ボタンをクリックするたびに。リンクがブラウザでページを読み込んでいるが、フォームの投稿には機能していないので、なぜそうであるのか。どうすれば問題を解決できますか?

+0

ブラウザでURLが機能していますか? –

+0

はい。私は作品の質問でそれを言及している作品... – Rajat

+0

あなたのワードプレスのページはおそらくリダイレ​​クトしています。送信を押した後、ブラウザバーにはどのURLがありますか? –

答えて

2

ワードプレスページのいずれかに移動する必要がある場合は、直接リンクを実行しないでください。 代わりに、以下の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

これを行う方法を考えて約1日を費やしていたので、私はそれがスタックオーバーフローコミュニティの他の人に役立つかもしれないと思った。

目標:フォームフィールドから結果を取得し、別のページで使用します。 この例では、私のクライアントは、ユーザーがテキストフィールドに任意の金額を入力してPaypal支払いを行うことを希望しました。私はS2Memberプラグインを使用してボタンを作成し、Paypalの支払いを引き受けますが、この機能は提供されませんでした。 ここで実際に動作しています。
http://virginiabloom.com/?page_id=250しかし、それは生きている。あなたがpaypalの支払いを開始する場合、それはあなたのアカウントからお金を控除します。これはバージニア州をとても幸せにするでしょう。 私はそれをどのようにして解決しました: まず、このフィールドのフォームを作成しました。 は、他の支払額$

次へ]を入力し、私はstackoverflowの上の非常にシンプルなプラグインを見つけ、自分のニーズに合わせて適応:

<?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ファイルとして保存します。あなたのホスティングアカウントを開いて、プラグインフォルダ(wp-contentフォルダ内)を見つけてください。ファイルをフォルダにコピーしてください。 Wordpressに戻り、あなたのプラグインを見てください。あなたはそこにそれを見なければなりません。起動されていない場合は、起動します。

私は別のプラグインをインストール: それをインストールした後に投稿でPHPとページ(バージョン3.0.4)

を許可する、プラグインはWordpressのメニューに表示されます。 これを開いて、短いコードの中にあなたのポストにPHPを入れるスニペットメーカーを使うことができます。 構成:はい(デバッグ用) が古い(pre.2.2コードを使用します:なし は、高度なフィルタ方式を使用していない:はい は、インストール上のすべてのプラグインのデータを削除します。あなたが見るべきである何 を
がスニペットが見つからないメッセージを表示しますコードスニペットボックスがページの下部に表示されます。 私のスニペットはシンプルでした。私はちょうどページのURLから "量"パラメータをエコーし​​たかった。したがって、次のようになります。

echo $_GET['amount']?> 

終了タグは入れないでくださいが、開始タグは入れないでください。 これで、このパラメータを取得したいときはいつでも、ページ上の短縮コード[php function = 1]を使用します。

これはMYの検索結果ページのようです。

<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" /] 

ユーザが10進数で入力できるようにするため、フォーム上で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> 

これだけです!これが誰かに役立つことを願っています。

関連する問題