【问题标题】:How to store PHP page with variables in DB for email use?如何在数据库中存储带有变量的 PHP 页面以供电子邮件使用?
【发布时间】:2020-06-01 13:58:07
【问题描述】:

我有一个问题可能有人认为听起来很愚蠢,但我不是专业的开发人员,只是在学习,情况如下。

我正在为我的网站开发电子邮件系统,在那里我发送有关注册、个人资料更新等的电子邮件。我将整个电子邮件正文存储在 MySQL 数据库中。

当用户注册时,我调用以下函数:

function emailsend($category){
$db=new db();

$embodysql=$db->query("SELECT * FROM emailsys WHERE id=?","$category")->fetchArray();
$embody=$embodysql['body'];

echo "Получили $embody";

$fp=fopen("../emails/emailsent.php", "w") or die("Не могу открыть файл");
fwrite($fp, $embody);
fclose ($fp);

您可能会注意到,我写了我计划稍后发送给用户的 emailsent.php 内容。但是,我不知道如何处理我的数据库中包含 $name、$fname 等记录的 body 字段的内容。我可以在调用函数时传递这些参数,但是如何告诉 PHP 处理器在写入文件之前和从 DB 读取之后用实际值替换这些变量。 DB记录示例如下:

<div class="body-text" style="font-family:Helvetica, Arial, sans-serif;font-size:14px;line-height:20px;text-align:left;color:#333333">
<?php
echo"$name $fname";?>Добро пожаловать в <a href="https://ikeen.com">Школу Айкин</a> - место, где вы получите современные и понятные знания, которые сможете применять сразу после обучения.<br><br>
Ваш логин:<?php echo"$login"?>
<br><br>
</div>

从数据库读取内容并创建文件后的确切阶段以及如何处理这些变量?

提前谢谢你。

【问题讨论】:

  • "$category" ????为什么是引号?
  • 特定的数据库库,将这个结构转换为准备好的语句。

标签: php mysql


【解决方案1】:

我了解到您想在写入文件时写入 $name 和 $fname。

我首先想到了两种方法

  1. 如果您向 emailsend($category) 函数发送值;

emailsend ($category, $name, $fname)

$date = date("YmdHis"); // 我添加了

$Embody = $日期。 “\t”。 $名称。 “\t”。 $f名称。 “\t”。 $Embodysql['body'];

  1. $name 和 $fname 保存在会话中。

$date = date("YmdHis"); // 我添加了

$ 体现 = $date。 “\t”。 $_SESSION[“名称”]。 “\t”。 $_SESSION ["fname"]。 “\t”。 $Embodysql['body'];

【讨论】:

  • 我并不完全想更改从数据库获得的字符串中的这些变量,我将文件的全部内容存储在那里。因此,要像用户打开 URL 一样更改存储的变量。
  • emailsys表中是否有$name和$fname?或者你加入 emailsys 时可以访问它吗?
  • 它在以文本形式存储的字段中
  • 到目前为止,我决定用最简单的方式通过 str_replace,但我认为它会消耗更多资源
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多