我創建了一個聯繫表單,但它不起作用,我不知道爲什麼。我的代碼有什麼問題?這是警告消息:警告:mail()期望參數1是字符串,給定的數組。我試圖從本地主機使用測試郵件服務器工具,我嘗試了一切,但沒有任何反應。如果我沒有弄錯,警告消息說這是$ adminemail的錯誤。用的var_dump它看起來像這樣: 陣列(大小= 1) 'i_email'=>字符串 '[email protected]'(長度= 20)聯繫頁面php mail()不起作用
<?php
if (isset($_POST['ok'])) {
$name = mysql_real_escape_string(ucwords(strtolower(strip_tags(trim($_POST['name'])))));
$email = mysql_real_escape_string(strtolower(strip_tags(trim($_POST['email']))));
$tel = mysql_real_escape_string(strtolower(strip_tags(trim($_POST['tel']))));
$subject = mysql_real_escape_string(ucfirst(strtolower(strip_tags(trim($_POST['subject'])))));
$message = mysql_real_escape_string(strtolower(strip_tags(trim($_POST['message']))));
$captcha = $_POST['captcha'];
if (strlen($name) < 5)
$hibak[] = "Wrong name!";
if ((!filter_var($email, FILTER_VALIDATE_EMAIL)) || (strlen($email) < 6))
$hibak[] = "Wrong email!";
if (strlen($tel) < 10)
$hibak[] = "Wrong tel!";
if (strlen($subject) < 5)
$hibak[] = "Wrong subject!";
if (strlen($message) < 30)
$hibak[] = "Min 30 characters long";
if (empty($captcha))
$hibak[] = "Captcha is empty!";
if ($captcha != $_SESSION['captcha'])
$hibak[] = "Wrong captcha!";
if (isset($hibak)) {
$asd = "<ul>\n";
foreach($hibak as $hiba) {
$asd.= "<li>{$hiba}</li>\n";
}
$asd.= "</ul>\n";
}
else {
$sql = "SELECT i_email FROM info WHERE i_id=1";
$eredmeny=mysql_query($sql);
$adminemail=mysql_fetch_assoc($eredmeny);
$level= "Details of the sender:\n";
$level.= "Name: {$name} \n";
$level.= "E-mail: {$email}\n";
$level.= "Tel: {$tel}\n";
$level.= "Subject: {$subject}\n";
$level.= "Message:{$message}\n";
$fejlec="From: {$email}"."\r\n".
"Reply-To:{$email}\n";
if(mail($adminemail, $subject, $level, $fejresz)){
$asd = "<p><em>Mail sent!</em></p>\n";}
else{
$asd="<p><em>Something is wrong!</em></p>\n";
}
unset($name);
unset($tel);
unset($email);
unset($captcha);
unset($subject);
unset($message);
}
}
?>
<div class=\"jobb\">
<form action=\"\" method=\"post\">
<label for=name>Name:</label>
<br />
<input type=text id=name name=name />
<br />
<label for=email>E-mail:</label>
<br />
<input type=email id=email name=email />
<br />
<label for=tel>Tel:</label>
<br />
<input type=tel id=tel name=tel />
<br />
<label for=subject>Subject:</label>
<br />
<input type=text id=subject name=subject />
<br />
<label for=message>Message:</label>
<br />
<textarea id=message name=message rows=5 cols=30></textarea>
<br />
<label for=\"captcha\">Captcha:</label><br />
".$kod."<br />
<input type=\"text\" id=\"captcha\" name=\"captcha\" required=\"required\" /></p>
<input type=\"submit\" id=\"ok\" name=\"ok\" value=\"Send\" /> <input type=\"reset\" value=\"Cancel\"/></p>
</form>
</div>
它沒有太清楚。你在'mail($ adminemail,$ subject,$ level,$ fejresz)'中爲'$ adminemail'傳遞一個數組,並且郵件需要一個字符串。嘗試將'$ adminemail'更改爲'$ adminemail ['i_email']'。 – j08691
對不起,我的英文不完美。我現在可以理解數組給出的部分。 – darksoul90