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

PHP邮件发送代码点击提交后下载文件问题求助

问题描述

点击提交按钮后iletişim.php文件被下载,无法执行邮件发送逻辑,目前没有域名和主机,想问是不是这个原因导致的?

PHP代码(iletişim.php)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" type="text/css" href="iletişim.css">
</head>
<body>
    <?php
    if(!empty ($_POST["submit"])){
        $Username = $_POST["Username"];
        $Useremail = $_POST["Useremail"];
        $userMessage = $_POST["userMessage"];
        $toEmail = $_POST["efealiazad@gmail.com"];
        
        $mailHeaders = "Name:" . $Username .
        "\n Email:" . $Useremail .
        "\n Message:" . $userMessage . "\n";
    }
    if(mail($toEmail, $Username, $mailHeaders)){
        $message = "Bilgileriniz Başarıyla Alındı";
    }
    ?>

        
        <form>
               <div class="araka slide-left">
                <div class="DS"><h3>Destek Sistemi</h3></div>
                <input type="text" id="name" name="Username" class="contact-form-text" placeholder="Adınız/soyadınız" required>
                <input type="email" id="email" name="Useremail" class="contact-form-text" placeholder="E-Posta Adresiniz" required>
                <textarea name="userMessage" id="" cols="30" rows="10" class="contact-form-text" placeholder="Sorununuz nedir kısaca özetleyin" required></textarea>
                <input type="submit" value="submit" name="Gönder" class="contact-form-text-btn submit">
        </form> 
       
</body>
</html>

HTML代码(iletişim.html)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="iletişim.css">

    <title>İletişim Bilgileri|Ad</title>
    <script src="https://code.jquery.com/jquery-3.4.1.js"></script>
</head>
<body>
    
    <div class="header">
        <nav>
            <div class="logo">
                <img src="images/logo.png">
                
            </div>
            <ul>
                <li><a href="index.html">ANA SAYFA</a></li>
                <li><a href="#">HESAP SATIN AL</a>
                    <ul class="submenu">
                        <li><a href="hesapsatınal.html#valorant" class="valorant">Valorant</a></li>
                        <li><a href="hesapsatınal.html#steam">Steam</a></li>
                    </ul>
                </li>
                <li><a href="iletişim.html">BİZE ULAŞIN</a></li>
                <li><a href="sözleşme.html">KULLANICI SÖZLEŞMESİ</a></li>
                <li><a href="FAQ.html">FAQ</a></li>
            </ul>
        </nav>
        <div class="sözls">
        <div class="skosul slide-left">  
        
    <form class="contact-form" action="iletişim.php">
           <div class="araka slide-left">
            <div class="DS"><h3>Destek Sistemi</h3></div>
            <input type="text" id="name" name="name" class="contact-form-text" placeholder="Adınız/soyadınız" required>
            <input type="email" id="email" name="email" class="contact-form-text" placeholder="E-Posta Adresiniz" required>
            <textarea name="" id="" cols="30" rows="10" class="contact-form-text" placeholder="Sorununuz nedir kısaca özetleyin" required></textarea>
            <input type="submit" id="" name="submit" class="contact-form-text-btn submit">
    </form> 
</div>
</body> 
</html>
解决方案

1. PHP文件被下载的核心原因

是的,没有域名和支持PHP的主机(或本地PHP运行环境)是直接原因。PHP是服务器端脚本语言,必须在安装了PHP解析器的Web服务器(如Apache、Nginx)环境下才能执行,直接用浏览器打开本地PHP文件时,浏览器会把它当作普通文本文件下载,不会解析执行其中的PHP代码。

解决方式二选一:

  • 本地搭建PHP运行环境(如XAMPP、WAMP),将文件放到服务器根目录(比如XAMPP的htdocs文件夹),通过localhost/你的文件名.php访问;
  • 购买支持PHP的虚拟主机,上传文件后通过域名访问。

2. 代码需修复的其他问题

即使解决了环境问题,现有代码还有多处错误会导致功能失效:

(1) 表单提交方式不匹配

HTML表单默认用GET方法,但PHP代码判断的是$_POST["submit"],需给表单添加method="POST":

<form class="contact-form" action="iletişim.php" method="POST">

(2) 表单字段名不匹配

HTML表单字段名是name、email,但PHP里取的是$_POST["Username"]、$_POST["Useremail"],需统一字段名,比如修改HTML:

<input type="text" id="name" name="Username" class="contact-form-text" placeholder="Adınız/soyadınız" required>
<input type="email" id="email" name="Useremail" class="contact-form-text" placeholder="E-Posta Adresiniz" required>
<textarea name="userMessage" id="" cols="30" rows="10" class="contact-form-text" placeholder="Sorununuz nedir kısaca özetleyin" required></textarea>

(3) 收件邮箱取值错误

当前$toEmail = $_POST["efealiazad@gmail.com"]是从POST数据里取不存在的字段,需直接写死收件邮箱:

$toEmail = "efealiazad@gmail.com";

(4) 语法错误

代码多处缺失分号,需补充:

  • $toEmail = "efealiazad@gmail.com";
  • $message = "Bilgileriniz Başarıyla Alındı";

(5) 邮件函数参数错误

mail函数第二个参数是邮件主题,当前传的是用户名,需改成合理主题:

$subject = "网站联系表单消息 - " . $Username;
if(mail($toEmail, $subject, $mailHeaders)){
    $message = "Bilgileriniz Başarıyla Alındı";
}

(6) 提交按钮name不匹配

PHP判断的是$_POST["submit"],但PHP文件里的按钮name是Gönder,需统一:

<input type="submit" value="Gönder" name="submit" class="contact-form-text-btn submit">

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 03:10:27