未提交HTML表单。PHP代码工作不正常

未提交HTML表单。PHP代码工作不正常,php,html,forms,validation,Php,Html,Forms,Validation,我创建了这个HTML表单,并编写了PHP代码,试图在用户填写表单并单击submit按钮后将用户信息发送到我的电子邮件中。然而,结果是,在点击提交按钮后,我只输出了我的PHP代码。请看一下我的代码,让我知道我做错了什么。提前谢谢 HTML代码 <!DOCTYPE html> <html> <head> <title> learning jquery </title> <style> textarea, input{

我创建了这个HTML表单,并编写了PHP代码,试图在用户填写表单并单击submit按钮后将用户信息发送到我的电子邮件中。然而,结果是,在点击提交按钮后,我只输出了我的PHP代码。请看一下我的代码,让我知道我做错了什么。提前谢谢

HTML代码

 <!DOCTYPE html>
<html>
<head>

<title>
    learning jquery
</title>
<style>
textarea, input{
position:absolute; left:130px;
}
body{background-color:gray;}
h1{
    text-align:center; margin-bottom:20px;
}
label{
    position:absolute; left:145px;
}
#label1, #checkbox{position:relative;
    top:125px;
}
#reset{position:absolute; top:500px;}
#submit{position:absolute; top:500px; left:200px;}
</style>
</head>

<body>
    <h1>Please fill out the form below</h1>
    <form action="form.php" method="post">
<p>E-mail Address: <input type="email" name="email"/></p>
<p>Name: <input type="text" name="name"/></p>
<p>Phone: <input type="tel" name="phone"/></p>
<p><p>
<input type="radio" name="budget" id="radio"/><label for="radio">$1,000</label><br>
<input type="radio" name="budget" id="radio1"/><label for="radio1">$1000 - $5000</label><br>
<span>Budget:</span><input type="radio" name="budget" id="radio2"/><label for="radio2">$5000 - $10000</label><br>
<input type="radio" name="budget" id="radio3"/><label for="radio3">$1,0000 - $25000</label><br>
<input type="radio" name="budget" id="radio4"/><label for="radio4">75,000 and up</label><br><br>
<span>How many people?  </span><select id="select" name="traveler">
    <option>Please Choose</option>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
    <option>6</option>
    <option>7</option>
    <option>8</option>
    <option>9</option>
    <option>10</option>
    <option>10+</option>
</select><br><br>
<span id="some_span">Comments:</span>
<textarea cols="40" rows="10" name="comments" id="textarea"></textarea><br>
<input type="checkbox" id="checkbox" name="newsletter"><label id="label1" for="checkbox">Subscribe to FREE online newspaper?</label> 
<input type="reset" id="reset" value="Reset"/> 
<input type="submit" id="submit" value="Send Email"/>

    </form>
</body>     
</html>


//PHP code




<?php

/*subject and email validates*/

 $emailSubject = 'Having fun with PHP';
 $webMaster = 'Vladimirg808@gmail.com';

 /* Gathering data variables */

   $emailField = $_POST['email'];
   $nameField = $_POST['name'];
   $phoneField = $_POST['phone'];
   $budgetField = $_POST['budget'];
   $travelersField = $_POST['traveler'];
   $commentsField = $_POST['comments'];
   $newsletterField = $_POST['newsletter'];

   $body = <<<EOD
<br><hr><br>
Email: $meail <br>
Name: $name <br>
Phone Number: $phone <br>
Budget: $budget <br>
Number of Travelers: $traveler <br>
Comments: $comments <br>
Newsletter: $newsletter <br>
EOD;

  $headers = "From: $email\r\n";
  $headers .= "Content-type: text/html\r\n";
  $success = mail($webMaster, $emailSubject, $body, $headers);

  /* Results rendered as HTML*/

  $theResults = <<<EOD
<html>
<head>

<title>
PHP form
</title>
<style>
body{
background-color:gray;
}
</style>
</head>

<body>
<h1 style="text-align:center; margin-top:40px;">Thank you. Your Email was received. We will answer it soon.</h1>    

</body>     
</html>
EOD;

echo "theResults";

?>

学习jquery
文本区,输入{
位置:绝对;左侧:130像素;
}
正文{背景色:灰色;}
h1{
文本对齐:居中;页边距底部:20px;
}
标签{
位置:绝对;左侧:145px;
}
#标签1,#复选框{位置:相对;
顶部:125px;
}
#重置{位置:绝对;顶部:500px;}
#提交{位置:绝对;顶部:500px;左侧:200px;}
请填写下表
电子邮件地址:

姓名:

电话:

1000美元
1000美元至5000美元
预算:5000-10000美元
10000美元-25000美元
75000及以上

有多少人? 请选择 1. 2. 3. 4. 5. 6. 7. 8. 9 10 10+

评论:
订阅免费在线报纸? //PHP代码
在点击submit底部后,我只输出了我的PHP代码

PHP(在此上下文中)是一种服务器端语言,如果浏览器看到PHP源代码,则不会执行PHP。要么:

  • 您没有Web服务器
  • 您尚未在Web服务器上安装PHP支持
  • 您尚未将服务器配置为针对PHP指令处理文件(例如,为文件提供
    .PHP
    扩展名)
  • 您正在运行Web服务器,但告诉浏览器加载文件时使用
    文件://
    URI,而不是
    http://
    URI,因此它没有被使用

    • 我想这会解决你的问题

      <!DOCTYPE html>
      <html>
      <head>...</head>
      <body>
          <h1>Please fill out the form below</h1>
          <form action="form.php" method="post">
                  <p>E-mail Address: <input type="email" name="email"/></p>
                  <p>Name: <input type="text" name="name"/></p>
                  <p>Phone: <input type="tel" name="phone"/></p>
                  <p><p>
                  <input type="radio" name="budget" id="radio"/><label for="radio">$1,000</label><br>
                  <input type="radio" name="budget" id="radio1"/><label for="radio1">$1000 - $5000</label><br>
                  <span>Budget:</span><input type="radio" name="budget" id="radio2"/><label for="radio2">$5000 - $10000</label><br>
                  <input type="radio" name="budget" id="radio3"/><label for="radio3">$1,0000 - $25000</label><br>
                  <input type="radio" name="budget" id="radio4"/><label for="radio4">75,000 and up</label><br><br>
                  <span>How many people?  </span><select id="select" name="traveler">
                      <option>Please Choose</option>
                      <option>1</option>
                      <option>2</option>
                      <option>3</option>
                      <option>4</option>
                      <option>5</option>
                      <option>6</option>
                      <option>7</option>
                      <option>8</option>
                      <option>9</option>
                      <option>10</option>
                      <option>10+</option>
                  </select><br><br>
                  <span id="some_span">Comments:</span>
                  <textarea cols="40" rows="10" name="comments" id="textarea"></textarea><br>
                  <input type="checkbox" id="checkbox" name="newsletter"><label id="label1" for="checkbox">Subscribe to FREE online newspaper?</label> 
                  <input type="reset" id="reset" value="Reset"/> 
                  <input type="submit" id="submit" value="Send Email"/>
      
          </form>
      </body>     
      </html>
      
      
      //PHP code
      
      <?php
      if(isset($_REQUEST['submit']))
      {
      /*subject and email validates*/
      
       $emailSubject = 'Having fun with PHP';
       $webMaster = 'Vladimirg808@gmail.com';
      
       /* Gathering data variables */
      
         $emailField = $_POST['email'];
         $nameField = $_POST['name'];
         $phoneField = $_POST['phone'];
         $budgetField = $_POST['budget'];
         $travelersField = $_POST['traveler'];
         $commentsField = $_POST['comments'];
         $newsletterField = $_POST['newsletter'];
      
         $body = <<<EOD
      <br><hr><br>
      Email: $emailField <br>
      Name: $nameField <br>
      Phone Number: $phoneField <br>
      Budget: $budgetField <br>
      Number of Travelers: $travelersField <br>
      Comments: $commentsField <br>
      Newsletter: $newsletterField <br>
      EOD;
      
        $headers = "From: $emailField\r\n";
        $headers .= "Content-type: text/html\r\n";
        $success = mail($webMaster, $emailSubject, $body, $headers);
      
        /* Results rendered as HTML*/
      
        $theResults = <<<EOD
      <html>
      <head>
      
      <title>
      PHP form
      </title>
      <style>
      body{
      background-color:gray;
      }
      </style>
      </head>
      
      <body>
      <h1 style="text-align:center; margin-top:40px;">Thank you. Your Email was received. We will answer it soon.</h1>    
      
      </body>     
      </html>
      EOD;
      
      echo "theResults";
      }
      ?>
      
      
      ...
      请填写下表
      电子邮件地址:

      姓名:

      电话:

      1000美元
      1000美元至5000美元
      预算:5000-10000美元
      10000美元-25000美元
      75000及以上

      有多少人? 请选择 1. 2. 3. 4. 5. 6. 7. 8. 9 10 10+

      评论:
      订阅免费在线报纸? //PHP代码
      您是否用
      覆盖PHP代码?是否将文件扩展名设置为
      .php


      也应考虑使用相同的变量名来获取实际数据。如果您将POST变量读入

      $emailField
      ,然后继续使用另一个完全不同的变量(
      $meail
      ),则没有帮助。

      此外,您使用的变量看起来是错误的。例如,您将名称存储在
      $nameField
      中,但随后使用
      $name
      。@Quentin
      PHP(在此上下文中)是一种服务器端语言
      -PHP始终是一种服务器端语言@GuyT-我是否想象过在其中编写命令行实用程序?还是PHP-GTK的存在?@Quentin同样,PHP-GTK仍然是一种服务器端语言。您可以创建Windows和其他GUI对象,但它仍然在服务器上编译。@GYT-当您使用PHP-GTK时,您正在编写一个桌面应用程序,因此没有服务器(除非您使用X11显示,在这种情况下,PHP-GTK应用程序将是一个X客户机!)。您为什么要回显
      回显“theResults”当变量
      $theResults
      上有
      herdoc
      内容时。所以它应该是
      echo$theResults对吗?请注意,所有
      元素都需要一个value属性。您的系统中是否安装了php?