2014-03-31 86 views
-1

我將表單的代碼複製到我的網站。它不提交...有人可以看到問題嗎?PHP表單提交打開空白頁面

<?php 
if(isset($_POST['email'])) { 

// EDIT THE 2 LINES BELOW AS REQUIRED 
$email_to = "[email protected]"; 
$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._%-][email protected][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顯示在最後。所有按鈕都可以工作,並可以通過電子郵件@查看工作,但表單submmision只是打開一個空白頁面。

+0

死的是不是一個函數模是一個功能 –

+0

是,它的頂部定義。 – Halcyon

+0

你是什麼意思的「空白」 - 一個空白的白頁?沒有值的表單?電子郵件是否被髮送? – Kryten

回答

0

您的form有沒有methodaction我相信這在某些瀏覽器中不起作用。

變化

<form> 

要:

<form method="post" action="[the url of the page]"> 
0

的形式的默認方法是GET,所以如果你沒有在表單標籤指定它,你將需要$_GET而不是$_POST

您還需要一個動作attibute,所以你的標籤應該是這樣的:

<form action="" method="post"> 

然後,你還需要添加name屬性您的所有表單域因爲這是被髮送到服務器,而不是id

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數組中。如果簡單地忽略行動,表單將提交到同一頁:

​​
0

<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屬性