我的联系表单的“提交”按钮未提交和重定向

时间:2013-10-09 11:25:19

标签: forms button redirect submit

我正在开发我的第二个网站,在创建这个网站的过程中,我第一次在StackOverflow上的人们提供了很棒的帮助。 我可以浏览并找到几乎我不想知道的任何东西。 99%的问题,我已经解决了我在这里读过的答案。 首先,非常感谢你们!

这是我第一次发帖,因为我无法找到代码的具体答案。 有人在这里有同样的问题,但当我看他们的代码我只是迷路了。 我现在知道html了。这是我无能为力的PHP。 我不是在寻找一些奇特的东西,我只是想创建一个简单的联系表格。

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

我使用了一个来自youtube教程的PHP代码并且它是deadeasy(如前所述:第一次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.";

?>

3 个答案:

答案 0 :(得分: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']);
祝你好运!

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

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

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

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

就我而言,根本不涉及js