我正在尝试使用sencha触摸表单功能将表单内容发送到PHP邮件脚本。我在php和sencha方面的知识相当薄弱,但仍然试图使用我发现的php示例脚本。 sencha部分是3个领域的基本反馈形式。
以下是代码的sencha部分:
feedbackForm = Ext.create("Ext.tab.Panel", {
items: [{
title: 'Feedback',
iconCls: 'user',
xtype: 'formpanel',
url: 'feedback.php',
layout: 'vbox',
tabBar: false,
items: [
{
xtype: 'fieldset',
tabBar: false,
items: [
{
xtype: 'textfield',
label: 'Your Name'
},
{
xtype: 'emailfield',
label: 'Your Email'
},
{
xtype: 'textfield',
label: 'The Good'
},
{
xtype: 'textfield',
label: 'The Bad'
}
]
},
{
xtype: 'button',
text: 'Send',
ui: 'confirm',
handler: function() {
this.up('formpanel').submit();
}
}]
}]
});
this.up(' formpanel')。submit(); line负责将数据发送到feedback.php脚本,如下所示:
<?php
// Configuration Settings
$SendFrom = "Form Feedback <feedback@myDomain.com>";
$SendTo = "myEmail@gmail.com";
$SubjectLine = "Feedback Submission";
$ThanksURL = "thanks.html"; //confirmation page
// Build Message Body from Web Form Input
foreach ($_POST as $Field=>$Value)
$MsgBody .= "$Field: $Value\n";
sgBody .= "\n" . @gethostbyaddr($_SERVER["REMOTE_ADDR"]) . "\n" .
$_SERVER["HTTP_USER_AGENT"];
sgBody = htmlspecialchars($MsgBody, ENT_NOQUOTES); //make safe
// Send E-Mail and Direct Browser to Confirmation Page
mail($SendTo, $SubjectLine, $MsgBody, "From: $SendFrom");
header("Location: $ThanksURL");
?>
以上是工作和发送电子邮件,但只有最后一个字段内容为&#39;标签:&#39; The Bad&#39;&#39;以下列方式: null:ff(为最后一个字段输入ff时)
在我看来,组装消息的PHP循环是问题,但也许我没有正确地传输数据?
有什么建议吗? 提前谢谢。
答案 0 :(得分:0)
嗯,Sencha示例中的字段没有名称。他们互相覆盖了吗?如果你注释掉'The Bad'字段就会出现'The Good'字段?我想这可能只是发送一系列项目。我将使用Fiddler2拦截正在发送的数据,并查看POST是否包含您期望的实际数据。也许只是尝试给他们所有的字段名称,并直接引用它们?