Php HTML表单工作不正常
我构建了一个HTML表单,每当我提交它时,我都会被要求打开Gmail或Outlook。当我这样做时,会打开一封带有正确电子邮件地址的新电子邮件。问题是我希望它不打开任何东西就发送。我只想对表单使用HTML,不使用PHP/MySQLPhp HTML表单工作不正常,php,html,forms,sendmail,Php,Html,Forms,Sendmail,我构建了一个HTML表单,每当我提交它时,我都会被要求打开Gmail或Outlook。当我这样做时,会打开一封带有正确电子邮件地址的新电子邮件。问题是我希望它不打开任何东西就发送。我只想对表单使用HTML,不使用PHP/MySQL <form method="post" action="mailto:contact@walkerloden.com" enctype="text/plain"> <p>Name: <input t
<form method="post" action="mailto:contact@walkerloden.com" enctype="text/plain">
<p>Name: <input type="text" name="Name" size="20"></p>
<p>Email: <input type="text" name="Email" size="20"></p>
<p><input type="submit" value="Submit" name="Submit"></p>
</form>
姓名:
电邮:
您不能在示例HTML上执行此操作。您必须需要PHP或类似的东西来发送邮件。HTML不能以这种方式工作
Action mailto仅打开默认邮件应用程序
谷歌是你的朋友,先搜索再提问。web上有很多这样的例子。在示例HTML上不能这样做。您必须需要PHP或类似的东西来发送邮件。HTML不能以这种方式工作 Action mailto仅打开默认邮件应用程序
谷歌是你的朋友,先搜索再提问。web上有很多这样的例子。实际上不支持
mailto
的表单操作-如果您希望表单元素出现在带有所需地址的电子邮件中,那么表单就不是这样工作的
您需要有一些服务器端代码,您可以将表单发布到服务器端,这样才能进行实际的电子邮件发送。实际上不支持
mailto
的表单操作-如果您希望表单元素出现在带有所需地址的电子邮件中,那么表单就不应该这样工作
您需要有一些服务器端代码,您可以将表单发布到服务器端,这样才能进行实际的电子邮件发送。您不应该将表单操作设置为mailto 相反,您应该将其直接发送到您编写的脚本,在该脚本中,您可以接受POST变量,然后发送电子邮件。有一个名为
mail()
的本机PHP函数可以实现这一点。您的代码应该如下所示:
HTML
<form method="post" action="scripts/mailtome.php" enctype="text/plain">
<p>Name: <input type="text" name="Name" size="20"></p>
<p>Email: <input type="text" name="Email" size="20"></p>
<p><input type="submit" value="Submit" name="Submit"></p>
</form>
姓名:
电邮:
PHP-mailtome.PHP
<?php
$name = stripslashes(trim($_POST['Name']));
$email = stripslashes(trim($_POST['Email']));
$to = 'email@address.com';
$subject = 'CONTACT FORM';
$body = "From: $name\n E-Mail: $email";
if(mail($to, $subject, $body, $name.' - '.$email))
echo("It worked");
else
echo("Something went wrong");
?>
您不应该将表单操作设置为mailto 相反,您应该将其直接发送到您编写的脚本,在该脚本中,您可以接受POST变量,然后发送电子邮件。有一个名为
mail()
的本机PHP函数可以实现这一点。您的代码应该如下所示:
HTML
<form method="post" action="scripts/mailtome.php" enctype="text/plain">
<p>Name: <input type="text" name="Name" size="20"></p>
<p>Email: <input type="text" name="Email" size="20"></p>
<p><input type="submit" value="Submit" name="Submit"></p>
</form>
姓名:
电邮:
PHP-mailtome.PHP
<?php
$name = stripslashes(trim($_POST['Name']));
$email = stripslashes(trim($_POST['Email']));
$to = 'email@address.com';
$subject = 'CONTACT FORM';
$body = "From: $name\n E-Mail: $email";
if(mail($to, $subject, $body, $name.' - '.$email))
echo("It worked");
else
echo("Something went wrong");
?>
看起来您正在尝试制作一个注册表单,用户可以在表单中输入姓名和电子邮件,然后按submit将信息发送到电子邮件contact@walkerloden.com. 如果这是正确的,那么您有几个选项:
如果您碰巧在WordPress或其他博客软件这样的网站上运行此注册表单,他们通常有内置的方法来制作注册表单,以避免麻烦。看起来您正在尝试制作一个注册表单,用户可以在其中输入姓名和电子邮件,然后按submit将该信息通过电子邮件发送至contact@walkerloden.com. 如果这是正确的,那么您有几个选项:
如果您碰巧在WordPress或其他博客软件这样的网站上运行此注册表单,他们通常有内置的方法来制作注册表单,以避免麻烦。谢谢您的回答。我刚试过这个,它给我发的邮件是正确的,但它只给我发了“发件人”和“电子邮件:”两个字。它没有通过电子邮件发送我在表单中实际输入的文本。请尝试删除enctype,看看是否有任何作用。如果没有,请尝试将
$\u POST
更改为$\u REQUEST
或$\u GET
。可能什么都做不了,但值得一试。删除了enctype,它就可以工作了。谢谢谢谢你的回答。我刚试过这个,它给我发的邮件是正确的,但它只给我发了“发件人”和“电子邮件:”两个字。它没有通过电子邮件发送我在表单中实际输入的文本。请尝试删除enctype,看看是否有任何作用。如果没有,请尝试将$\u POST
更改为$\u REQUEST
或$\u GET
。可能什么都做不了,但值得一试。删除了enctype,它就可以工作了。谢谢