【问题标题】:Form with email validation with Drupal使用 Drupal 进行电子邮件验证的表单
【发布时间】:2011-06-21 02:10:17
【问题描述】:

我需要使用 Drupal 创建它,但我不知道如何简单地实现它。

  1. 带有用于插入电子邮件和提交按钮的输入的表单。
  2. 提交表单时,发送验证电子邮件以确保电子邮件地址有效
  3. 当用户验证电子邮件时(单击其电子邮件中的链接),电子邮件将存储在数据库中。

非常感谢您的帮助!

【问题讨论】:

  • @zzzBov 。这就是为什么他说他不知道 :) 顺便说一句,你现在的 Rep (4040) 很漂亮。
  • 您正在尝试做的事情有点高级。有一些函数可以在 php.ini 中创建可用于此目的的序列化键。当密钥匹配时,可以保存电子邮件。首先,您应该首先获取您提交的工作并将数据插入到正确的表中。一旦你做到了,看看你如何实现这个点击/验证自动链接系统。我希望我能提供更多帮助,但这并不是一个可以用几行编写的指令。
  • 这听起来像是核心drupal注册过程。为什么不直接引导用户注册?

标签: php validation email drupal forms


【解决方案1】:

我想有更好的解决方案,但这里有一个相当简单的方法。我假设您确实知道如何在 Drupal 中进行基本的操作,例如创建表单、在数据库中存储信息、发送邮件等等。如果没有,每个都有一个链接...

  1. 使用电子邮件 (varchar)、键 (varchar)、状态 (int) (hook_schema) 定义表
  2. 创建一个表单,用户可以在其中输入电子邮件 (how to create a form
  3. 将邮件与随机密钥(如 md5($mail .uniqueid())一起存储在数据库中(d7 为 db_insert,D6 为 db_query),将状态设置为 0
  4. 向用户发送一封邮件,其中包含包含诸如 yourmodule/verify/$key 之类的密钥的链接 (drupal_mail
  5. hook_menu 中注册该路径(yourmodule/verifiy/%)
  6. 当用户单击链接时,在数据库中查找该键并将状态设置为 1(db_query + db_update(仅限 D7))
  7. 完成,所有状态为 1 的邮件现在都已确认。

正如其他人所提到的,drupal 核心用户注册已经在这样做了。

【讨论】:

    【解决方案2】:

    您可以根据需要使用email php form。它包括所有需要的功能,并且可以集成到任何 cms 中。

    【讨论】:

      猜你喜欢
      • 2011-05-11
      • 2017-11-19
      • 2011-01-31
      • 2014-03-05
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      相关资源
      最近更新 更多