我将表单的代码复制到我的网站。它没有提交......有人能看到问题吗?
<?php
if(isset($_POST['email'])) {
// EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = "danielko@intrahouse.co.il";
$email_subject = "פנייה מהאתר";
function died($error) {
// your error code can go here
echo "We are very sorry, but there were error(s) found with the form you submitted. ";
echo "These errors appear below.<br /><br />";
echo $error."<br /><br />";
echo " מלא את כל הפרטים בבקשה.<br /><br />";
die();
}
// validation expected data exists
if(!isset($_POST['name']) ||
!isset($_POST['email']) ||
!isset($_POST['telephone']) ||
!isset($_POST['comments'])) {
died(' אחד הפרטים חסר. מלא את כל הפרטים בבקשה');
}
$first_name = $_POST['first_name']; // required
$email_from = $_POST['email']; // required
$telephone = $_POST['telephone']; // not required
$comments = $_POST['comments']; // required
$error_message = "נא מלא פרטים נכונים";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)) {
$error_message .= 'נא מלא פרטים נכונים.<br />';
}
if(strlen($comments) < 2) {
$error_message .= 'The Comments you entered do not appear to be valid.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Form details below.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "Name: ".clean_string($first_name)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Telephone: ".clean_string($telephone)."\n";
$email_message .= "Comments: ".clean_string($comments)."\n";
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" dir"=rtl">
<meta name="keywords" content="פורום בית חכם,בית חכם, חשמל חכם, בקרת חשמל, ניהול חשמל, חסכון בחשמל, אמצעי בקרת חשמל, כמה עולה בית חכם, מחירי חשמל חכם, מערכות בית חכם, תכנון בית חכם">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="stylesheet" href="contact_style.css" type="text/css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/jquery.uniform.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
$(document).ready(function(e){
$("input:checkbox, input:radio").uniform();
$('#top').css('float','none');
$('.content_window').css('height','auto');
});
</script>
<title>IntraHouse - צור קשר</title>
</head>
<body>
<div class="background">
<div class="content_window">
<header>
<div class="languages">
<a href="indexEnglish.html">English</a>
<a href="index.html">עברית</a>
</div>
<div id="app_theme" style="margin-top:3px" ></div>
<div id="top" style="margin-top:2px" style="float:none" >
<nav id="topmenu">
<ul>
<li id="home"><a href="index.html">דף הבית </a></li>
<li id="about"><a href="#">אודות </a></li>
<li id="prices"><a href="prices.html">מחירים</a></li>
<li id="projects"><a href="projects.html">פרוייקטים</a></li>
<li id="store"><a href="store.html">חנות</a></li>
<li id="contact_us"><a href="contact_us.html">צור קשר</a></li>
</ul>
</nav>
</div>
</header>
<div class="contact" style="margin-top:10px">
<article dir="rtl">
<h1 style="margin-top:10px"> נשמע מעניין? השאירו פרטים ונחזור אליכם</h1>
<form>
<ul>
<li>
<label for="name"> שם: </label>
<input type="text" size="40" id="name" />
</li>
<li>
<label for="telephone"> טלפון: </label>
<input type="text" size="40" id="name" />
</li>
<li>
<label for="email"> כתובת אימייל: </label>
<input type="email" size="40" id="email" />
</li>
</li>
<li>
<label for="message">תוכן ההודעה:</label>
<textarea cols="50" rows="5" id="message"></textarea>
</li>
</ul>
<p>
<button type="reset" class="right"> אפס </button>
<button type="submit" class="action"> שלח </button>
</p>
</form>
</article>
</div>
</div>
</body>
</html>
<?php
}
?>
正如您所见,最后会出现HTML。所有按钮都可以工作,并通过电子邮件发送@检查工作,但是表单子断言只会打开一个空页面。
答案 0 :(得分:0)
您的form
没有method
或action
我认为这在某些浏览器中无效。
更改
<form>
要:
<form method="post" action="[the url of the page]">
答案 1 :(得分:0)
表单的默认方法是GET
,因此如果您不在表单标记中指定它,则需要$_GET
而不是$_POST
。
您还需要一个动作,因此您的标记应如下所示:
<form action="" method="post">
然后,您还需要向所有表单字段添加name
属性,因为这是发送到服务器的内容,而不是id
。
答案 2 :(得分:0)
这是两个关键问题。 HTML元素的id必须是唯一的,因此这里有两个具有相同id的元素:
<li>
<label for="name"> שם: </label>
<input type="text" size="40" id="name" />
</li>
<li>
<label for="telephone"> טלפון: </label>
<input type="text" size="40" id="name" />
</li>
这需要更改,并且每个元素都需要name
属性,否则它将不会正确显示在POST数组中:
<li>
<label for="name"> שם: </label>
<input type="text" size="40" id="name" name="name" />
</li>
<li>
<label for="telephone"> טלפון: </label>
<input type="text" size="40" id="telephone" name="telephone" />
</li>
等。 - 所有元素必须具有名称和唯一ID。特别是,您的电子邮件字段需要name="email"
,以便在脚本开头进行if(isset($_POST['email']))
检查。此外,表单需要POST方法,以便将这些元素传递到POST数组中。如果您只是省略了操作,表单将提交到同一页面:
<form method="POST">
答案 3 :(得分:0)
您的<form>
应具有method="POST"
属性
像这样:
<form method="POST">
您有错误:
<input type="email" size="40" id="email" />
应该是
<input type="text" size="40" id="email" name="email" />
请注意,您的代码中包含$_POST['first_name']
,因此您必须拥有<input type="text" name="first_name" />
,必须拥有name
属性。
为了获取php中输入字段的值,您必须使用name
属性