【问题标题】:Javascript alert instead of redirect in PHP mail scriptJavascript 警报而不是 PHP 邮件脚本中的重定向
【发布时间】:2010-04-10 17:13:02
【问题描述】:

感谢Col. Shrapnel 我正在使用一个非常基本的 PHP 脚本来发送电子邮件。该表格位于here

这是脚本:

<?php
mail('JBIRD1111@gmail.com','Live Date Submission',implode("\n\n",$_POST));
header("Location: thankyou.html");
?>

当用户提交表单时,他们会被重定向到thankyou.html 页面。我想编辑代码以显示 javascript 警报,而不是重定向。我没有太多 PHP 知识,那么如何编辑此代码以返回警报而不是重定向?

【问题讨论】:

    标签: php javascript email


    【解决方案1】:

    实际上,如果您想发送 Javascript 警报,我建议您使用一些基本的jQuery 工作。我还想看看文档的AJAX 部分。

    否则,您可以在原始表单页面中插入一些 javascript。

    session_start();
    $_SESSION['message'] = "<script>alert('Thank you so very much! You rock!');</script>";
    header("Location: originalformpage.html");
    

    在原始表单页面上

    session_start();
    if(isset($_SESSION['message']))
    {
        echo($_SESSION['message']);
        unset($_SESSION['message']);
    }
    

    【讨论】:

    • 我知道 Ajax 是执行此操作的正确方法,但我正在寻找一种快速简单的修复方法。我将代码添加到 mt email.php 文件中,并将底部代码添加到我的表单文件中,但我没有收到警报。它正在重定向到页面,并发送电子邮件,但没有警报!这是正确的(在表格下方)
    • 正确,但要确保原始表单页面上有.php 扩展名。
    • 我试过了......它说:警告:session_start()[function.session-start]:无法发送会话缓存限制器 - 标头已发送(输出开始于/home/jessechase/ztmag .com/v2/livedates.php:9) 在 /home/jessechase/ztmag.com/v2/livedates.php 第 233 行
    • 您需要将session_start(); 放在文件的最顶部。最重要的是。
    • 警告显示在页面加载时,而不是在您提交之后。在这里看到它:v2.ztmag.com/livedates.php
    【解决方案2】:

    将标题行替换为:

    print("<script>alert('Thank you so very much! You rock!');</script>");
    

    未经测试,但应该可以工作。

    【讨论】:

    • 它确实有效,但是,如果将您重定向到 email.php 页面(它是空白的)然后显示警报。我正在寻找在当前页面上显示的警报而不加载另一个 html 文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-28
    • 2015-07-12
    相关资源
    最近更新 更多