如何在不使用 API 的情况下向 Drupal 6.x 注册用户?

2024-03-29

我们必须有一个通过用 java 编写的 Web 服务可用的“注册”方法,因此从今往后我们无法访问 Drupal API。但我们需要能够成功注册用户。简单地将用户添加到用户表中是行不通的,因为新创建的用户永远无法成功登录。我再次喜欢 Drupal API,并且总是使用它,因为这是“正确”的方法,但在这种情况下,我们只是没有能力这样做。对这个困境有什么见解吗?


您将需要逐步完成user_save() http://api.drupal.org/api/function/user_save/6API 函数可帮助您了解 Drupal 在创建新用户时执行的操作。

Drupal 在保存此类数据方面并没有什么深奥的魔力:它都在数据库中。因此,虽然不能使用 Drupal API 并不理想,但实际上您只处理两个数据库插入:{user}表插入(您已经完成),以及{users_roles}表插入。

根据您的信息,我怀疑缺少的链接是您没有向{users_roles}新用户 UID 的表。中的相关行user_save():

db_query('INSERT INTO {users_roles} (uid, rid) VALUES (%d, %d)', $account->uid, $rid);

Where $account->uid是新创建用户的 UID,并且$rid是您要授予用户的角色的 ID。新用户至少需要authenticated user role.

其他一切都在user_save()主要是健全性检查(user_save()除了创建新用户之外还处理更新用户)和钩子触发,对于此用例,您可能不需要担心。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在不使用 API 的情况下向 Drupal 6.x 注册用户? 的相关文章

  • HTTP 413 请求实体太大

    我目前无法在 drupal 7 7 15 中的自定义文件字段上使用 Drupal FileField Source 远程 url 选项 发布非常大的文件 文件已成功上传到 tmp 目录 但在尝试发布时失败 文件大小为870Mb A 510m
  • 非常奇怪的 Drupal 7 404 行为

    我在 D7 中遇到了一些我以前从未见过的非常奇怪的行为 我已将一个新站点从我的开发机器迁移到测试机器 因此代码和数据库是相同的 在开发机器 Ubuntu 13 04 Apache PHP 5 5 3 上 一切正常 但在 Raspbian 上
  • Drupal 节点揭秘

    我是 Drupal 的新手 希望了解这个平台的工作原理 具体来说 我对 Node 对象感到困惑 这是什么东西 Content Type是怎么进来的 看起来整个 Drupal 就是节点 节点 节点 很想听听您的见解 当您第一次接触 Drupa
  • Drupal 6:打印纯正的主链接和所有子链接

    世界上怎么可能 我发誓 我读了相当于三本百科全书的书 却毫无用处 我已经尝试过区域 page tpl php 和块内的解决方案 他们都没有给我我需要的东西 而且我知道还有很多其他人也需要这个 我得出的结论是 我想打印出 page tpl p
  • 如何让tinymce(浏览器内的“富编辑器”)保留缩进

    问题 我将 Drupal 与丰富的编辑器一起使用 而丰富的编辑器喜欢通过删除缩进和格式来破坏我的文本 这在桌面编辑器中是不可接受的 但人们似乎可以在浏览器内编辑器中容忍这种情况 问 如何关闭此功能 我已经四处搜索 但尚未找到告诉富编辑器保留
  • 将图像添加到 html 块中

    我在 Blocks 内容中添加了一些 html 代码并启用了完整 HTML 过滤器 我对图像使用了相对路径 例如 sites all themes zen zen image png 我想这是不正确的 因为我需要根据我在主页或 node i
  • 如果管理员或用户具有特定角色,则 Drupal 条件 PHP

    如果用户是管理员 以下内容将执行 某些操作 do something 如果用户是管理员或具有特定角色 我该如何更改此设置 以便发生 某些事情 谢谢 角色存储在 user gt roles 要检查 用户是否是管理员或具有特定角色 您可以简单地
  • 在views_query_alter()中将表连接、位置和排序依据添加到视图查询中

    我正在尝试修改 Drupal 中视图的查询 视图版本 3 Drupal 版本 7 我想要做的是在运行之前更改查询 以便它左连接一个表 在该表中我为节点分配了权重 如果我用 SQL 编写我想要的查询 它将如下所示 SELECT a nid a
  • Wordpress 和 Drupal SSO/单点登录

    我已经在 Wordpress 中制作了我的前端网站 这对我来说很好 我想在 Drupal 中创建会员 员工区域 因为它具有更多 Google 文档和 Mediawiki 功能 我想知道我是否可以在两个站点之间共享登录信息 因此如果我在 Wo
  • Drupal - 使用引导程序检查 Drupal 之外的登录用户不起作用

    我正在绞尽脑汁地想弄清楚这个问题 在 Drupal 目录之外时 我无法让 Bootstrap 正常工作 如果我在 Drupal 目录中运行此代码 它可以正常工作 但向上一级不起作用 我的 Drupal 路径是 public html dru
  • CSS 隐藏输入按钮值文本

    我目前正在设计一个
  • Drupal 6 和 7 从标头中取消设置 Javascript

    编辑 我的问题适用于 Drupal 6 和 7 尽管我的代码示例是 Drupal 6 人们提供的答案对于 Drupal 的两个版本都很有用 我目前正在 Drupal 中为 Drupal 6 网站创建移动主题 并尝试通过以下方式删除所有不必要
  • 推送通知 Drupal 模块 - 删除设备(Web 服务)

    我已经开始使用这个模块 并且我已经成功注册设备 按照他的作者发布的说明进行操作 here http www danielhanold com story drupal 7 push notifications how to register
  • 如何在 #after_build 中隐藏 CCK Nodereference 输入小部件?

    我喜欢简化节点形式 我过去的技巧之一是 当我想要强制执行某种默认设置时 有条件地在新节点创建时隐藏 CCK 元素 我最喜欢的技巧之一就是快速清除由预填充 http drupal org project prepopulate模块 对我来说不
  • 如何让 PagerDefault 查询与 Drupal 7 一起正常工作?

    我正在运行以下代码 query db select taxonomy index ti gt fields ti array nid gt condition ti tid term gt tid gt condition n status
  • Drupal 视图 - 自定义/修改 SQL

    我遇到了 配置文件复选框 模块的问题 该模块存储以逗号分隔的自定义配置文件字段 问题是我是否创建一个视图来按值过滤 SQL 结果最终是这样的 AND profile values profile interests value in Bus
  • 找出是什么原因导致可怕的“网站遇到意外错误。请稍后再试。”信息

    在进行 drupal 6 到 7 升级时 我收到了不太有用的消息 网站遇到意外错误 请稍后再试 每次我进入某些页面时 例如 管理 配置 找出导致致命错误的原因以便我可以修复它的最佳方法是什么 我现在能想到的就是开始禁用贡献的模块 直到该页面
  • Drupal:*.api.php 中的 hook_ 函数是否被调用过?

    在 Drupal 7 中 每个核心模块都有一个 api php文件 其中 是模块的名称 例如 modules node node api php modules path path api php 这些文件有什么用 它们包含以以下开头的函数
  • Drupal URL 重写冲突

    我已将 Drupal 7 安装在站点的根目录中 htaccess 文件自安装以来未曾修改过 不过 我还在子目录中设置了 CodeIgniter 我在 CI 目录中创建了一个 htaccess 文件 其中包含从 url 中删除 index p
  • 在网站上不间断地播放 mp3?

    客户请求在整个网站上播放单个曲目 一般来说 我建议不要这样做 但他们坚持这样做 那么 将 Flash 播放器嵌入到网站中并且当用户转到另一个页面时不会出现间隙 中断的最直接方法是什么 我认为需要一个 iframe 我正在使用具有自动恢复功能

随机推荐