如何将表单数据从煎茶发送到php电子邮件脚本


How to send form data from sencha to php email script

我正在尝试使用sencha触摸表单功能将表单内容发送到PHP邮件脚本。我对 php 和 sencha 的了解很弱,但仍然试图让它与我找到的 php 示例脚本一起工作。煎茶部分是具有 3 个字段的基本反馈形式。

这是代码的煎茶部分:

       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(); 行负责将数据发送到 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");
?>

以上是工作并发送电子邮件,但仅通过以下方式使用"标签:"坏"的最后一个字段内容:空:FF(为最后一个字段输入 ff 时)

在我看来,组装消息的 PHP 循环是问题所在,但也许我没有正确传输数据?

有什么建议吗?提前谢谢。

嗯,

您在 Sencha 示例中的字段没有名称。 它们是否相互覆盖? 如果您注释掉"坏"字段是"好"字段吗? 我想它可能只是发送一系列物品。 我会使用 Fiddler2 来拦截正在发送的数据,看看 POST 中是否有您期望的实际数据。 也许尝试只为字段提供所有名称并直接引用它们?