这个 {POST.data} 构造在 Yii 电子邮件中有效吗?
Will this {POST.data} construct work in a Yii email?
我正在考虑将网站从 Adobe 转换到 Yii。在 Adobe 代码中,我有一个包含变量的页面,它使用如下形式的 POST 数据:
$firstContact = "This is an email I sent to {POST.userFirstName}";
当我提交时,post 数据被变量拾取并顺利发送。
但是当我开始将这些页面转换为 Yii 时,我想知道是否 {POST.userFirstName}
是 Yii 将识别为 php 并在电子邮件中正确部署该 POST 数据的内容。
谁能告诉我在哪里可以查看 Yii 文档
回答这个问题,或者,如果您已经知道它确实有效,也请告诉我吗?
谢谢
php 中的语法是这样的
$firstContact = "words ".$_POST['userFirstName']." more words ";
或
$firstContact = "words {$_POST['userFirstName']} more words ";
但我个人会包括这个
$userFirstName = isset($_POST['userFirstName']) ? $_POST['userFirstName'] : '';
$firstContact = "words $userFirstName more words ";
对于注入了 post 数据的电子邮件,我强烈建议添加 htmlentities
$userFirstName = isset($_POST['userFirstName']) ? htmlentities($_POST['userFirstName'], ENT_QUOTES, "UTF-8"); : '';
$firstContact = "words $userFirstName more words ";
但请注意,这会使 html 变得无用,例如 <p>html<\p>
,因此这在很大程度上取决于您需要什么,以及您是否可以 100% 信任内容,以及发送电子邮件的人以及它被发送给谁。原因是用户可以添加 html 包含 Javascript 可以劫持用户数据会话等的代码。最好避免各种邪恶的事情。
有几种方法可以将变量放入字符串中(插值),Yii 可能会提供类似的方法,但在本机 php 中并没有这样做。许多模板系统使用与您所拥有的相似的语法,但我不喜欢只使用 POST
,我需要前面的 _
,就像 {_POST.var}
一样,但这只是我.
php中的.
是类似于Javascript中的+
的连接运算符。许多模板系统将它用作访问运算符,这就是 Javascript 所做的,这类似于 php 中的 ->
或数组情况下的 [ ]
。一般来说,模板设计者会更熟悉Javascript,这就是为什么他们会那样使用.
。
我正在考虑将网站从 Adobe 转换到 Yii。在 Adobe 代码中,我有一个包含变量的页面,它使用如下形式的 POST 数据:
$firstContact = "This is an email I sent to {POST.userFirstName}";
当我提交时,post 数据被变量拾取并顺利发送。
但是当我开始将这些页面转换为 Yii 时,我想知道是否 {POST.userFirstName} 是 Yii 将识别为 php 并在电子邮件中正确部署该 POST 数据的内容。
谁能告诉我在哪里可以查看 Yii 文档 回答这个问题,或者,如果您已经知道它确实有效,也请告诉我吗?
谢谢
php 中的语法是这样的
$firstContact = "words ".$_POST['userFirstName']." more words ";
或
$firstContact = "words {$_POST['userFirstName']} more words ";
但我个人会包括这个
$userFirstName = isset($_POST['userFirstName']) ? $_POST['userFirstName'] : '';
$firstContact = "words $userFirstName more words ";
对于注入了 post 数据的电子邮件,我强烈建议添加 htmlentities
$userFirstName = isset($_POST['userFirstName']) ? htmlentities($_POST['userFirstName'], ENT_QUOTES, "UTF-8"); : '';
$firstContact = "words $userFirstName more words ";
但请注意,这会使 html 变得无用,例如 <p>html<\p>
,因此这在很大程度上取决于您需要什么,以及您是否可以 100% 信任内容,以及发送电子邮件的人以及它被发送给谁。原因是用户可以添加 html 包含 Javascript 可以劫持用户数据会话等的代码。最好避免各种邪恶的事情。
有几种方法可以将变量放入字符串中(插值),Yii 可能会提供类似的方法,但在本机 php 中并没有这样做。许多模板系统使用与您所拥有的相似的语法,但我不喜欢只使用 POST
,我需要前面的 _
,就像 {_POST.var}
一样,但这只是我.
php中的.
是类似于Javascript中的+
的连接运算符。许多模板系统将它用作访问运算符,这就是 Javascript 所做的,这类似于 php 中的 ->
或数组情况下的 [ ]
。一般来说,模板设计者会更熟悉Javascript,这就是为什么他们会那样使用.
。