php - Phonegap 联系表单无法通过 PHP 运行

标签 php html cordova contact-form

我遇到了一个非常奇怪的问题

我正在使用phonegap 在 HTML5 中构建移动应用程序,并将其编译为 native 应用程序。

该应用程序内有一个联系表单,但我无法使用它。我尝试了所有我能想到的。但每次我提交表单时,我都会在屏幕上收到 php 部分的代码。 显然,该应用程序在浏览器上运行得很好,但在我的 iPhone 上却不行。

我什至尝试使用 iframe 并在那里添加表单,得到了相同的结果。

所以我的问题是。如何在我的应用程序中添加联系表单(需要将用户信息发送到客户电子邮件)

任何帮助将不胜感激

谢谢

最佳答案

如果采用整体方法(通过 Titanium/Phonegap 将 html5 转换为原生),您的结构应该是这样的

/projects/apps/html5app/index.html
/projects/apps/html5app/contact.html

/projects/apps/html5app/assets/js/phonegap.js
/projects/apps/html5app/assets/js/jquery.js

/projects/apps/html5app/assets/css/css.css

/projects/apps/html5app/assets/images/logo.jpg
/projects/apps/html5app/assets/images/button.jpg

在 contact.html 中,您需要使用 PHP 文件指向实时服务器

<form action="https://service.cdn-app.com/contact-form.php" method="get">

然后使用回发以 AJAX 或 JSON 格式提交感谢页面,这样就不会提示用户离开应用程序。

或者更新 - 更简单的方法就是像这样的按钮

<input type="button" onclick="submit()" value="submit contact"/>

然后在你的 jQuery 上你可以执行他们的操作(他们不会离开你的应用程序,你可以用感谢等触发替换 div)

//启动 jQuery 表单处理引擎

jQUERY 示例

$.post('https://service.cdn-app.com/contact-form.php', {

    // These are the names of the form values

    FirstName: $('#FirstName_input').val(),
    LastName: $('#LastName_input').val(),
    Email: $('#Email_input').val(),
    MessageText: $('#MessageText_input').val()

    // HTML function

    }, function (html) {
        // Place the HTML in a astring
        var response=html;

        // PHP was done and email sent
        if (response=="success") {
            alert("Message sent!"); 
        } else {

            // Error postback
            alert("Sorry please fill all fields!"); 
        return false;
    }
});

PHP 示例

<?php

    // VARS
    $FirstName=$_GET["FirstName"];
    $LastName=$_GET["LastName"];
    $Email=$_GET["Email"];
    $MessageText=$_GET["MessageText"];
    $Headers = "From:" . $Email;

    //VALIDATION
    if(
    $FirstName=="" ||
    $LastName=="" ||
    $Email=="" ||
    $MessageText==""
    ) {
        echo "Error";
    } else {
        mail("<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="60190f151201040d090e2003040e4e030f0d" rel="noreferrer noopener nofollow">[email protected]</a>","mobile app message",$MessageText, $Headers);
        echo "Success";
    }
?>

关于php - Phonegap 联系表单无法通过 PHP 运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12597891/

相关文章:

php-fpm 配置 : unknown entry 'access.log'

php - 从 ngThumb 指令上传 AngularJS 文件(使用 angular-file-upload)

javascript - 如何通过 Javascript 从 HTML 文件连接到 Sqlite 数据库

javascript - Phonegap 阻止 pageinit

iphone - PhoneGap + Landscape : SplashScreen Loads Properly, 然后在闪烁和消失之前短暂旋转

javascript - 如何在 php echo (Laravel) 中使用 Javascript 变量

php - WordPress 插件 : How do I avoid "tight coupling"?

html - 需要帮助 : CSS3 Animation - Back and Forth

jquery - 如何使用不同的数据和页脚调整其内容的边框大小

android - 无法使用 cordova fileopener 插件打开本地文件