为什么标题允许跨域不允许使用echo来打印变量值?

时间:2016-02-08 03:43:08

标签: php angularjs

我有一个角度文件,它发送一个post请求发送变量(email,user,keysuser)到php文件发送电子邮件。但是当我使用echo打印值时,响应是一个错误。让我告诉你:

<?php
    header('Access-Control-Allow-Origin: *');
    header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
    header('Access-Control-Allow-Headers: Origin, Content-Type, Accept, Authorization, X-Request-With');
    header('Access-Control-Allow-Credentials: true');

$data = file_get_contents("php://input");
$dataJsonDecode  = json_decode($data);
$email = $dataJsonDecode->email;
$username = $dataJsonDecode->username;
$id = $dataJsonDecode->keyuser;
$subject = "Welcome";
$message="Hi".echo $username ." welcome to the site... blabla";
$header .= 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$header .= 'From: GoVir <govir@example.com>' . "\r\n";

if(mail($email,$subject,$message,$header)){
 echo 'success';
}else{
echo 'Error';
}
?>

这就是错误

当我只发送字符串或html但是当使用echo连接这些错误发生的值时,它可以正常工作并发送电子邮件。

1 个答案:

答案 0 :(得分:0)

首先删除$ message

之前使用的echo
$message="Hi".$username ." welcome to the site... blabla";

并检查您的邮件功能是否返回true。如果邮件功能没有返回true,那么你将始终得到&#34;错误&#34;。