【问题标题】:Submit button for my contact form is not submitting and redirecting我的联系表单的提交按钮未提交和重定向
【发布时间】:2013-10-16 17:38:46
【问题描述】:

我正在开发我的第二个网站,在创建这个网站和我的第一个网站的过程中,StackOverflow 上的人们提供了惊人的帮助。 我可以浏览并找到几乎所有我想知道的东西。 我遇到的 99% 的问题,我都用我在这里读过的答案来解决。 首先非常感谢大家!

这是我第一次发布内容,因为我无法找到我的代码的具体答案。 这里有人遇到同样的问题,但是当我查看他们的代码时,我就迷路了。 我现在对html有点了解。这是我一无所知的php。 我不是在寻找花哨的东西,我只是想创建一个简单的联系表格。

这是我的问题和代码,希望你们中的一些人能够帮助我。

我使用了来自 youtube 教程的 PHP 代码,它很简单(如前所述:第一次使用 PHP)但我无法让它工作。虽然我做的一切都和剪辑中的那个人一样。他表明他正在工作,所以我非常好奇我的不是吗?

我的表单没有“发送”,点击提交按钮后我没有收到“谢谢”行。

这里是html:

<form method="post" action="contactform" name="contactform" id="contactform">

            <ol>
                <li>
                    <label for="voornaam">Voornaam</label>
                    <input type="text" name="voornaam" />
                </li>
                <li>
                    <label for="achternaam">Achternaam</label>
                    <input type="text" name="achternaam" />
                </li>

                <li>
                    <label for="telefoon">Telefoon Nummer</label>
                    <input type="text" name="telefoon" />
                </li>
                <li>
                    <label for="email">E-mail Adres</label>
                    <input type="text" name="email" />
                </li>
                <li>
                    <label for="bericht">Type hier je bericht</label>
                    <textarea name="bericht"></textarea>
                </li>
                <li>
                    <input name="submit" type="submit" value="submit" />
                    <input name="reset" type="reset" value="reset" />                    
                </li>

            </ol>

            </form>

和 PHP:

<?php

$voornaam = $_POST ['voornaam'];
$achternaam = $_POST ['achternaam'];
$telefoon = $_POST ['telefoon'];
$email = $_POST ['email'];
$bericht = $_POST ['bericht'];

$to = "felicevancuyk@gmail.com";
$subject = "dkl groep bericht";

mail ($to, $subject, $bericht, "From " . $voornaam . $achternaam . $telefoon};
echo "Bedankt. We nemen zo snel mogelijk contact met u op.";

?>

【问题讨论】:

    标签: forms button redirect submit


    【解决方案1】:

    可能是您的操作设置不正确:

    <form method="post" action="contactform" name="contactform" id="contactform">
    

    此操作标记是表单发送到的 URL。在您给出的上述示例中,它似乎不是文件名。你希望它是这样的:

    <form method="post" action="http://mysite.com/process-form.php" name="contactform" id="contactform">
    

    还请注意,在您的示例 PHP 代码中,您正在通过电子邮件发送对表单的响应,而不清理这些响应。如果您不先清理数据,有人可能会向您的服务器发送恶意代码。

    类似:

    $cleaned_voornaam = preg_replace("/[^ 0-9a-zA-Z]/", "_", $_POST['voornaam']);
    

    祝你好运!

    【讨论】:

    • 不确定您是否在这篇文章中收到了我的新条目。我希望可能愿意再看看。非常感谢!
    • 我没有收到您的条目,因为您将其添加为另一个答案。您在行上有错误的结束括号(大括号而不是右括号)。安全问题始终至关重要,即使在小型网站上也是如此。
    • 是的!太感谢了!我简直不敢相信,看了那么久,我竟然没看到那个花括号!!当然,它现在正在工作。非常感谢您的时间和帮助!我将继续清理回复,谢谢!
    【解决方案2】:

    您只需将第一行代码的 action 属性更改为您要处理表单的页面。它可能是同一页面,但建议在另一个页面上。以下是在同一页面中提交表单的示例:

       <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" name="contactform" id="contactform">
    

    不要忘记,如果您是在与上述示例相同的页面上提交,那么您的页面应该是 .php 扩展名,否则它将无法正常工作。

    【讨论】:

      【解决方案3】:

      提交不提交的另一种情况是html格式错误。

      恰好我的代码在我的 html 表单中间插入了一个 php 错误。

      修正了错误,提交再次工作。

      就我而言,根本不涉及任何js

      【讨论】:

        猜你喜欢
        • 2012-11-12
        • 1970-01-01
        • 2018-02-12
        • 2021-04-05
        • 2015-05-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多