
本文针对使用PHP构建联系表单时常见的三个问题提供详细的解决方案:如何突破2MB的附件大小限制,实现在表单中添加额外的电话号码字段,以及在邮件成功发送后自动重置表单。通过本文,你将学习到修改PHP配置、扩展表单功能以及利用AJAX实现表单重置的方法,从而构建更完善的用户体验。
虽然服务器的 php.ini 文件已经配置了较大的上传限制(例如32MB),但表单仍然只能上传2MB的文件,这通常是由于以下原因:
解决方法:
首先,确认当前的 upload_max_filesize 和 post_max_size 的值。可以将以下代码添加到 index.php 文件的末尾,在 </body> 标签之前:
立即学习“PHP免费学习笔记(深入)”;
<?php
echo "<!-- upload_max_filesize=" . ini_get('upload_max_filesize') . ", post_max_size=" . ini_get('post_max_size') . "-->";
?>刷新网页,查看源代码,就能看到这两个参数的值。如果 post_max_size 小于 upload_max_filesize,则需要修改 post_max_size 的值。
修改 php.ini 文件,将 upload_max_filesize 和 post_max_size 设置为合适的值。例如,要允许上传最大为10MB的文件,可以设置为:
upload_max_filesize = 10M post_max_size = 10M
如果无法直接修改 php.ini 文件,可以尝试在 .htaccess 文件中添加以下内容:
php_value upload_max_filesize 10M php_value post_max_size 10M
注意: 修改配置后,需要重启Web服务器才能生效。
要在联系表单中添加电话号码字段,并将其包含在发送的邮件中,需要进行以下步骤:
修改HTML表单: 在 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>
修改JavaScript验证: 在 index.php 文件的JavaScript代码中,添加电话号码的验证:
if(!$("#userPhone").val().match(/[0-9]/)) {
$("#userPhone-info").html("(invalid)");
$("#userPhone").css('background-color','#FF5A5A');
valid = false;
}修改PHP邮件发送代码: 在 contact_mail.php 文件中,将电话号码添加到邮件内容中。关键在于,原始代码中使用了两个 MsgHTML 覆盖了邮件内容,需要将电话号码和消息内容合并到一个 MsgHTML 调用中。
$mail->MsgHTML( 'Telefon: ' . $_POST["userPhone"] . "<br>Poruka: " . $_POST["content"] );
建议使用 HTML 换行符 <br> 或者文本换行符 \n 来分隔电话号码和消息内容,以便更好地显示在邮件中。
为了在邮件成功发送后自动重置表单,可以在AJAX的 success 回调函数中添加表单重置代码。
在 index.php 文件中,找到 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"); 这行代码会触发表单的 reset 事件,从而将表单的所有输入框重置为空。
总结:
通过以上步骤,你可以解决PHP联系表单中常见的附件大小限制、添加字段和表单重置问题。关键在于理解PHP配置、JavaScript验证和AJAX回调函数的使用。请务必根据你的实际情况修改代码,并进行充分的测试,以确保表单能够正常工作。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号