未提交HTML表单。PHP代码工作不正常
我创建了这个HTML表单,并编写了PHP代码,试图在用户填写表单并单击submit按钮后将用户信息发送到我的电子邮件中。然而,结果是,在点击提交按钮后,我只输出了我的PHP代码。请看一下我的代码,让我知道我做错了什么。提前谢谢 HTML代码未提交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{
<!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,而不是文件://
URI,因此它没有被使用http://
- 我想这会解决你的问题
<!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
。@QuentinPHP(在此上下文中)是一种服务器端语言
-PHP始终是一种服务器端语言@GuyT-我是否想象过在其中编写命令行实用程序?还是PHP-GTK的存在?@Quentin同样,PHP-GTK仍然是一种服务器端语言。您可以创建Windows和其他GUI对象,但它仍然在服务器上编译。@GYT-当您使用PHP-GTK时,您正在编写一个桌面应用程序,因此没有服务器(除非您使用X11显示,在这种情况下,PHP-GTK应用程序将是一个X客户机!)。您为什么要回显回显“theResults”代码>当变量$theResults
上有herdoc
内容时。所以它应该是echo$theResults代码>对吗?请注意,所有
元素都需要一个value属性。您的系统中是否安装了php?