
本文针对基于PHP的联系表单,详细讲解如何解决附件大小限制问题,添加电话号码字段,以及在成功发送邮件后自动重置表单。通过本文,开发者可以轻松扩展和优化现有的联系表单功能,提升用户体验。
附件大小限制
当遇到上传附件大小超过限制时,即使服务器的 php.ini 文件配置了更大的限制,也可能无法生效。首先,需要确认 upload_max_filesize 和 post_max_size 这两个配置项的值是否符合预期。可以在 index.php 文件的末尾添加以下代码,然后查看网页源代码:
<?php
echo "<!-- upload_max_filesize=" . ini_get('upload_max_filesize') . ", post_max_size=" . ini_get('post_max_size') . "-->";
?>
如果这两个值小于你希望的最大附件大小,你需要修改 php.ini 文件。通常,这两个值都需要设置成大于你希望的最大附件大小。例如,如果希望允许上传32MB的文件,则需要设置:
upload_max_filesize = 32M post_max_size = 32M
修改 php.ini 后,需要重启 Web 服务器才能使配置生效。
立即学习“PHP免费学习笔记(深入)”;
注意事项:
- 确保你有权限修改 php.ini 文件。
- post_max_size 的值必须大于或等于 upload_max_filesize。
- 某些虚拟主机提供商可能不允许你直接修改 php.ini 文件,你需要联系他们进行修改。
添加电话号码字段
要在联系表单中添加电话号码字段,并将其包含在发送的邮件中,需要在 HTML 表单中添加相应的输入框,并在 PHP 代码中获取该字段的值并将其添加到邮件内容中。
-
修改 HTML 表单 (index.php):
在 index.php 文件中,添加以下 HTML 代码来创建一个电话号码输入框:
<div> <label>Telefon</label> <span id="userPhone-info" class="info"></span><br/> <input type="text" name="userPhone" id="userPhone" class="demoInputBox"> </div>登录后复制 -
修改 PHP 代码 (contact_mail.php):
在 contact_mail.php 文件中,需要将电话号码字段的值添加到邮件内容中。原来的代码是:
$mail->MsgHTML($_POST["content"]);
登录后复制应该修改为:
$mail->MsgHTML( 'Phone: ' . $_POST["userPhone"] . "<br>Message: " . $_POST["content"] );
登录后复制这样会将电话号码和消息内容都包含在邮件正文中。
-
前端验证 (index.php):
为了确保用户输入的是有效的电话号码,可以在前端进行验证。在 index.php 的 validateContact() 函数中添加以下代码:
if(!$("#userPhone").val().match(/[0-9]/)) { $("#userPhone-info").html("(invalid)"); $("#userPhone").css('background-color','#FF5A5A'); valid = false; }登录后复制这段代码会检查 userPhone 字段的值是否包含数字。
表单重置
为了在成功发送邮件后自动重置表单,可以在 AJAX 的 success 回调函数中添加代码。
-
修改 JavaScript 代码 (index.php):
在 index.php 文件中,找到 AJAX 的 success 回调函数:
success: function(data){ $("#mail-status").html(data); $('#loader-icon').hide(); }登录后复制修改为:
success: function(data){ $("#mail-status").html(data); $('#loader-icon').hide(); $('#frmContact').trigger("reset"); }登录后复制$(‘#frmContact’).trigger(“reset”); 这行代码会触发表单的重置事件,从而清空表单中的所有输入框。
总结:
通过以上步骤,可以解决PHP联系表单的附件大小限制问题,添加电话号码字段,并在成功发送邮件后自动重置表单。这些改进可以提升用户体验,并使联系表单更加实用。记得在修改代码后进行测试,确保所有功能正常工作。
以上就是解决PHP Contact Form常见问题:附件大小限制、添加字段与表单重置的详细内容,更多请关注php中文网其它相关文章!


