4

我正在开发我的第二个网站,在创建这个网站和我的第一个网站的过程中,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.";

?>
4

3 回答 3

2

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

<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']);

祝你好运!

于 2013-10-09T15:36:01.227 回答
0

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

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

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

于 2014-12-23T15:54:24.000 回答
0

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

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

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

就我而言,根本不涉及 js

于 2019-12-09T15:45:34.360 回答