2012-02-03 150 views
0

我是WordPress新手,我想在wordpress中將數據從一個頁面傳輸到另一個頁面。我使用PHP將我的表單數據發佈到wordpress頁面。我的代碼是:如何在wordpress頁面之間傳遞數據

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

但是,每次我點擊提交按鈕我都沒有找到錯誤頁面。爲什麼它是如此,因爲鏈接是在瀏覽器中加載頁面,但不適用於表單發佈。我該如何解決這個問題?

+0

該URL是否在瀏覽器中運行? – 2012-02-03 10:26:16

+0

是的。我的作品,我已經提到它在問題發佈... – Rajat 2012-02-03 10:33:22

+0

你的WordPress的頁面可能是做一個重定向然後。按提交後,瀏覽器欄中的URL是什麼? – 2012-02-03 10:36:07

回答

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'); ?> 

將生成基地網站的網址。

3

花了大概一天的時間搞清楚如何做到這一點,我認爲這可能會有助於其他人在stackoverflow社區。

目標:從表單字段獲取結果並在另一頁上使用它。 在本例中,我的客戶希望用戶能夠在文本字段中填寫任何金額以進行PayPal付款。我使用S2Member插件來創建按鈕並連接Paypal付款,但他們沒有提供這種功能 - 只有硬連線的按鈕。 你可以在這裏看到這個動作:
http://virginiabloom.com/?page_id=250。但它是現場。如果您啓動了PayPal付款,它將從您的帳戶扣除資金。這將使弗吉尼亞州非常高興。我如何解決它: 首先,我爲此字段創建了一個表單。 輸入其它支付金額$

接下來,我發現計算器一個非常簡單的插件,它適合我的需求:

<?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中回顯「amount」參數。所以它看起來像這樣:

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> 

就是這樣!我希望這有助於某人。