如何通过PHP发送HTML表单
我正在通过为继父的旅馆建立一个网站来学习。它有一个带有日历的联系人表单,用于选择入住和退房日期。我使用了我在网上找到的很多资源,并试图让它们协同工作,但我无法使表单可发送。当我用这段代码单击submit按钮时,它只显示PHP页面的内容。我希望有人能引导我或指出我做错了什么如何通过PHP发送HTML表单,php,html,forms,contact,Php,Html,Forms,Contact,我正在通过为继父的旅馆建立一个网站来学习。它有一个带有日历的联系人表单,用于选择入住和退房日期。我使用了我在网上找到的很多资源,并试图让它们协同工作,但我无法使表单可发送。当我用这段代码单击submit按钮时,它只显示PHP页面的内容。我希望有人能引导我或指出我做错了什么 <html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"> <head> <link rel="stylesheet"
<html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es">
<head>
<link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.6.0/pure-min.css">
<link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.6.0/grids-responsive-old-ie-min.css">
<link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.6.0/grids-responsive-min.css">
<link rel="stylesheet" type="text/css" href="css/jquery-ui-1.7.2.custom.css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"> </script>
<script type="text/javascript">
jQuery(function($){
$.datepicker.regional['es'] = {
closeText: 'Cerrar',
prevText: '<Ant',
nextText: 'Sig>',
currentText: 'Hoy',
monthNames: ['Enero','Febrero','Marzo','Abril','Mayo','Junio',
'Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'],
monthNamesShort: ['Ene','Feb','Mar','Abr','May','Jun',
'Jul','Ago','Sep','Oct','Nov','Dic'],
dayNames: ['Domingo','Lunes','Martes','Miércoles','Jueves','Viernes','Sábado'],
dayNamesShort: ['Dom','Lun','Mar','Mié','Juv','Vie','Sáb'],
dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','Sá'],
weekHeader: 'Sm',
dateFormat: 'dd/mm/yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['es']);
});
$(document).ready(function() {
var date = new Date();
var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
$("#llegada").datepicker({minDate: new Date(y, m, d), dateFormat: 'dd/mm/yy'});
$("#salida").datepicker({minDate: new Date(y, m, d), dateFormat: 'dd/mm/yy'});
});
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
#text {
position: absolute;
left: 282px;
top: 210px;
width: 616px;
height: 40px;
z-index: 1;
text-align: justify;
color: #87796D;
}
</style>
<script language="JavaScript" src="js/gen_validatorv31.js" type="text/javascript"></script>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div id="text">
<form action="contact.php" method="post" enctype="text/plain" class="pure-form pure-form-stacked" >
<fieldset>
<legend>Formulario de reserva</legend>
<div class="pure-g">
<div class="pure-u-1 pure-u-md-1-3">
<label for="name">Nombre</label>
<input id="name" class="pure-u-23-24" type="text">
</div>
<div class="pure-u-1 pure-u-md-1-3">
<label for="email">E-Mail</label>
<input id="email" class="pure-u-23-24" type="email" required>
</div>
<div class="pure-u-1 pure-u-md-1-3">
<label for="phone">Teléfono</label>
<input id="phone" class="pure-u-23-24" type="text">
</div>
<div class="pure-u-1 pure-u-md-1-3">
<label for="llegada">Check-in:</label>
<input class="pure-u-23-24" type="text" name="datepicker" id="llegada"/>
</div>
<div class="pure-u-1 pure-u-md-1-3">
<label for"salida"> Check-out:</label>
<input class="pure-u-23-24" type="text" name="datepicker" id="salida"/>
</div>
<div class="pure-u-1 pure-u-md-1-3">
<textarea for="message" class="pure-input-23-24" placeholder="Mensaje opcional"></textarea>
</div>
</fieldset>
<button style="float:right;" type="submit" class="pure-button pure-button-primary">Enviar</button>
</form>
</div>
</body>
</html>
jQuery(函数($){
$.datepicker.regional['es']={
closeText:“Cerrar”,
前文:“<;Ant”,
下一个文本:“Sig>;”,
当前文本:“Hoy”,
monthNames:['Enero','Febrero','Marzo','Abril','Mayo','Junio',',
“朱利奥”、“阿戈斯托”、“七重奏”、“八重奏”、“诺维姆”、“迪西姆”],
Monthnameshort:[Ene'、'Feb'、'Mar'、'Abr'、'May'、'Jun'、月,
‘七月’、‘前’、‘九月’、‘十月’、‘十一月’、‘Dic’,
日名:[“多明戈”、“卢内斯”、“马蒂斯”、“米埃库特;科勒”、“朱埃夫斯”、“维尔内斯”、“S埃库特;巴多”],
dayNamesShort:['Dom'、'Lun'、'Mar'、'Mié;'、'Juv'、'Vie'、'Sá;b'],
dayNamesMin:['Do','Lu','Ma','Mi','Ju','Vi','Sá;'],
周刊头条:“Sm”,
日期格式:“日/月/年”,
第一天:1,
isRTL:错,
showmont第三年:假,
年份后缀:''};
$.datepicker.setDefaults($.datepicker.regional['es']);
});
$(文档).ready(函数(){
变量日期=新日期();
var m=date.getMonth(),d=date.getDate(),y=date.getFullYear();
$(“#llegada”).datepicker({minDate:newdate(y,m,d),dateFormat:'dd/mm/yy'});
$(“#salida”).datepicker({minDate:new Date(y,m,d),dateFormat:'dd/mm/yy'});
});
#正文{
位置:绝对位置;
左:282px;
顶部:210px;
宽度:616px;
高度:40px;
z指数:1;
文本对齐:对齐;
颜色:#87796D;
}
保留处方
名义
电子邮件
特莱福诺酒店
登记入住:
退房:
羡慕
对于我使用的contact.php页面
<?php
if(!isset($_POST['submit']))
{
echo "error; you need to submit the form!";
}
$name = $_POST['name'];
$visitor_email = $_POST['email'];
$phone = $_POST['phone'];
$llegada = $_POST['llegada'];
$salida = $_POST['salida'];
$message = $_POST['message'];
if(empty($name)||empty($visitor_email))
{echo "Por favor, completa los datos requeridos";
exit;}
if(IsInjected($visitor_email))
{echo "Bad email value!";
exit;}
$email_from = 'hostalsierragorda@gmail.com';//
$email_subject = "Mensaje del formulario de reserva";
$email_body = "Mensaje recibido de $name.\n".
"\n $message".
$to = "hostalsierragorda@gmail.com";//<== update the email address
$headers = "From: $email_from \r\n";
$headers .= "Responder a: $visitor_email \r\n";
mail($to,$email_subject,$email_body,$headers);
header('Location: enviado.html');
function IsInjected($str)
{
$injections = array('(\n+)',
'(\r+)',
'(\t+)',
'(%0A+)',
'(%0D+)',
'(%08+)',
'(%09+)'
);
$inject = join('|', $injections);
$inject = "/$inject/i";
if(preg_match($inject,$str))
{return true;}
else
{return false;}
}
?>
首先,文档是HTML,其次,输入和按钮需要名称标签,如下所示:
<input id="name" name="name" class="pure-u-23-24" type="text">
^^^^^^^^^^^
^^^^^^^^^^^
在你的contact.php
上,你要求$\u POST['submit']
,我以为是关于按钮的,按钮也没有名字标签
为了帮助您运行任何PHP文档,您需要一个服务器,请尝试XAMPP
只要设置这些错误,表单就可以了。我不想听起来很邪恶,但你应该先从学习开始。愚蠢的问题。。。但是既然你看到了PHP代码。。服务器上是否安装了PHP?PHP文件是否有.PHP扩展名?