为什么我的web表单(PHP)不工作(发送电子邮件)

为什么我的web表单(PHP)不工作(发送电子邮件),php,forms,email,Php,Forms,Email,我在下面有一个非常简单的联系我们表单,但它似乎不再向我的电子邮件地址发送电子邮件了。对于不同的表单,我有一些稍微不同的PHP文件,但它们都使用下面设置的基本规则。有人看到什么问题吗?PHP不是我的强项 <form id="form" name="myemailform" method="post" action="submit.php"> <h3>Contact Us</h3> <p>Please use this form t

我在下面有一个非常简单的联系我们表单,但它似乎不再向我的电子邮件地址发送电子邮件了。对于不同的表单,我有一些稍微不同的PHP文件,但它们都使用下面设置的基本规则。有人看到什么问题吗?PHP不是我的强项

<form id="form" name="myemailform" method="post" action="submit.php">
     <h3>Contact Us</h3>
     <p>Please use this form to get in touch with us, Thanks...</p>
     <label>Name </label>
     <input name="name" type="text" id="name" />
     <label>Email </label>
     <input type="text" name="email" id="email" />
            <p class="antispam">Leave this empty:<br /><input name="url" /></p>
     <label>Comment </label>
     <textarea name="comment" id="comment"></textarea>
     <button type="submit" name='submit' value="submit">Send</button>
</form>

编辑:似乎我从一开始就是对的(并删除了我的原始评论)

您的
需要包含一个类型,该类型应为
text

将其更改为


编辑#2(我对此事的调查结果)2014年3月20日-上午12:20

type=“url”

指定其输入元素是用于编辑元素值中给定的绝对URL的控件


我引述:

David Walsh于2010年9月15日撰写

使用type=“email”和type=“url”的优点

使用这些特殊输入类型有几个优点:

  • 您可以使用INPUT[type=email]轻松设置所有电子邮件输入元素的样式
  • 您可以使用INPUT[type=url]轻松设置所有url输入元素的样式
  • 可以认为这种输入类型在语义上更正确
  • 移动可访问性:如果用户使用iPhone进行浏览,并收到一个特殊的电子邮件输入,iPhone将在主屏幕上显示一个带有@符号的键盘。如果输入类型为“url”,iPhone将在主键盘屏幕上显示“.com”按钮:

HTML: XHTML:或

仅限HTML5。创建用于输入单个绝对URL的文本输入控件。用户代理可以验证输入的数据,以确保其为正确的URL格式,如果不匹配,则返回错误消息

值:文本 指定此控件的初始值。


第37期:HTML5标签的功能失效

glaj....@gmail.com报道,2014年1月16日

什么步骤会重现问题?
1.转到包含某个元素的站点(或在任何站点上将any更改为),并在关注该元素时单击backspace

预期产量是多少?你看到了什么?
应该删除输入中的字符,而转到上一页

您使用的是什么版本的产品?在什么操作系统上?
Linux 3.5.0-32-generic(Mint 15)上的v0.52.0_0

请在下面提供任何其他信息。
我已通过以下方式在本地解决了此问题:

$HOMEDIR/.config/google-chrome/Default/Extensions/aeffggjddcchloadflonilaahpclmbnm/0.52.0_0/backspace.js
并在第106行添加以下内容:

if (target.type == 'url')
    return true;

来自Mozilla.org-

使用Firefox 27.0.1,在
www.example.com
中键入时,该字段将亮起红色,并使用完整的
http://
调用进行批准


我对此事的预测(但不是结论)如下:

因为条件语句是基于表单元素的
url
,PHP可能不会在没有声明“type”的情况下让它通过


我还没有在谷歌上找到任何支持这一理论的东西,但是如果我找到了,我会在我前进的过程中更新我的答案。

谢谢大家,问题似乎出在type=“text”。所以,很明显,这确实起到了作用。非常感谢您的回复。

@Fred ii-这不会有什么区别,因为我非常确定输入的默认
类型是text.Ok。我会先测试这个。谢谢@Anonymous您是否被重定向到感谢页面?您的网络主机可能会限制您每天可以发送的电子邮件数量。试着发送一封测试邮件,看看是否通过。此外,您还可以尝试将
isset()
更改为
!empty()。如果您是通过WWW运行此功能,请确保
mail()
可供您使用和检查垃圾邮件。另外,如果您通过
localhost
运行,请确保您的服务器已完全设置为mail/php/等。@Fred ii-好的,很高兴知道。我删除了我的评论和我的答案(现在未删除)。为什么我一开始就觉得自己是对的?
if (target.type == 'url')
    return true;