嘿,我有一个代码,它可以发送一封包含表单发送的一些数据的电子邮件:
<?php
if (isset($_POST['submit'])) {
error_reporting(E_NOTICE);
function valid_email ($str) {
return ( ! preg_match("/^([a-z0-9'+_'-]+)('.[a-z0-9'+_'-]+)*@([a-z0-9'-]+'.)+[a-z]{2,6}$/ix", $str)) ? FALSE : TRUE;
}
if ($_POST['name'] != '' && $_POST['email'] != '' && $_POST['tel'] != '' && valid_email($_POST['email']) == TRUE && strlen($_POST['comment']) > 1) {
$to = preg_replace("(['r'n])", "", $_POST['receiver']);
$from = preg_replace("(['r'n])", "", $_POST['name']);
$subject = 'Online Message';
$message = $_POST['comment'];
$match = "/(bcc:|cc:|content'-type:)/i";
if (preg_match($match, $to) || preg_match($match, $from) || preg_match($match, $message) || preg_match($match, $subject)) {
die("Header injection detected.");
}
$headers = "From: '"".$_POST['name']."'" <".$_POST['email'].">'n";
$headers .= "Reply-to: ".$_POST['email']."'r'n";
if (mail($to, $subject, $message, $headers)) {
echo 1; //SUCCESS
} else {
echo 2; //FAILURE - server failure
}
} else {
echo 3; //FAILURE - not valid email
}
} else {
die("Direct access not allowed!");
}
我想把$_POST['tel']
添加到$message
变量中,这样我就可以在电子邮件的正文中获得消息和人们在表单中键入的电话。在代码的第一部分,我认为我必须输入电话。
我试着做了$message = $_POST['comment'] && $_POST['tel'];
,但我唯一收到的是邮件正文中的1
,这是输入的第一个电话号码。
$message = 'Comment: ' . $_POST['comment'] . ' Tel: ' . $_POST['tel'];
amp&意思是AND(逻辑版本),所以你实际上得到了"true"。
使用句点。,连接字符串。
$str = 'Hello'.' world'; print $str;
输出Hello world