2012-02-03 148 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> 

就是这样!我希望这有助于某人。