You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HTML/PHP联系表单提交跳转异常 新手PHP开发求助

联系表单跳转异常问题修复方案

已排查到的错误点

  • PHP触发条件不成立:HTML提交按钮未设置name="send"属性,导致PHP代码中if (isset($_POST['send']))判断永远为假,跳转逻辑不会执行
  • 邮箱字段名不匹配:HTML中邮箱输入框的name属性为email,但PHP中取值使用$_POST['mail'],字段不对应会导致邮件发送失败
  • HTML语法错误:提交按钮为自闭合<input>标签,末尾冗余了</button>闭合标签
  • 跳转逻辑不严谨:header跳转后未终止代码执行,可能出现意外输出导致跳转失败

修复后的代码示例

HTML表单部分

<form class="contact-form" action="contactform.php" method="post">
  <input type="text" name="name" placeholder="Full name">
  <!-- 优化邮箱输入框type为email做基础校验 -->
  <input type="email" name="email" placeholder="Email address">
  <input type="text" name="subject" placeholder="Subject">
  <textarea name="message" placeholder="Insert message"></textarea>
  <!-- 补充name属性,删除冗余闭合标签 -->
  <input type="submit" name="send" value="Send">
</form>

contactform.php代码

<?php
if (isset($_POST['send'])) {
  $name = $_POST['name'];
  $subject = $_POST['subject'];
  // 修正字段名对应HTML的name属性
  $mailFrom = $_POST['email'];
  $message = $_POST['message'];

  $mailto = "digitalMEassistance@gmail.com";
  $headers = "From: ".$mailFrom;
  $txt = "You've received an Email from ".$name.".\n\n".$message;
  mail($mailto, $subject, $txt, $headers);
  header("Location: index.php?emailsent");
  // 新增exit终止后续代码执行,保证跳转正常
  exit;
}
?>

内容的提问来源于stack exchange,提问作者George Meadaows

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 13:09:03