为了账号安全,请及时绑定邮箱和手机立即绑定

他们是一种集成 Drupal-8 和 ionic4 以进行用户注册和登录的方法吗?

他们是一种集成 Drupal-8 和 ionic4 以进行用户注册和登录的方法吗?

PHP
元芳怎么了 2021-12-03 19:08:00
我是 Drupal 8 的新手,我正在为我的公司做一个项目,请帮助解决这个问题。我们在 ionic 应用程序中进行了注册,我们希望将数据发送到 Drupal 8 站点 MySQL DB。问题是,当我们在 Drupal 8 中使用多个注册模块创建注册表时,会为表单中的每个字段创建一个单独的表,例如数据库中的用户名字段有自己的表。我们如何将应用程序中的数据插入 Drupal DB 以允许用户从应用程序或网站注册?我们在 Drupal 8 中使用多注册模块。我曾尝试使用应用程序内浏览器 ( https://ionicframework.com/docs/native/in-app-browser ) 将表单嵌入我们的应用程序中,但它显示了我们不想要的带有页眉和页脚的整个页面.我还尝试将数据作为 JSON 文件发送,并使用 PHP 和 MySQL 命令将数据插入表中,但这是一项非常漫长而艰巨的任务。let headers: any = new HttpHeaders({ 'Content-Type': 'application/json' }),       options: any = { "key": "create",      'id': obj.id,       'fullName': obj.fullName,       'email': obj.email,       'idNumber': obj.idNumber,       'gender': obj.gender,       'age': obj.age,       'phone': obj.phone,       'status': obj.status,       'qualifications': obj.qualifications,       'skills': obj.skills[0],       'city': obj.city,       'terms': obj.terms,     },this.http.post(url2, JSON.stringify(options), headers)      .subscribe((data: any) => {        console.log('successfully added');      },        (error: any) => {          console.log('Something went wrong!', error);        });并用于插入数据// Retrieve the posted data   $json    =  file_get_contents('php://input');   $obj     =  json_decode($json);   $key     =  strip_tags($obj->key);   switch($key)   {     case "createTest":  $field_mdynt_alskn_target_id = filter_var($obj->field_mdynt_alskn_target_id,   FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_LOW);  $field_username_value   = filter_var($obj->field_altk_al_value,   FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_LOW);           try {            $sql    = "INSERT INTO user_name(field_username_value) VALUES(:field_username_value)";            $stmt   = $pdo->prepare($sql);            $stmt->bindParam(':field_mdynt_alskn_target_id', $field_mdynt_alskn_target_id, PDO::PARAM_STR);     $stmt->execute();这里的问题是每个字段在数据库中都有自己的表,例如用户名字段具有表 user_name 并且表单中的所有字段都相同,我对所有字段执行相同的操作,我认为这不是正确的方法。有没有一种更快更有效的方法将我们 ionic 4 应用程序注册表中的数据插入到我们 Drupal 站点的数据库中。谢谢你,以防万一,让我知道;需要进一步澄清..
查看完整描述

2 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

首先修复数据库架构,每个表单字段的表不会是高效和可扩展的。

我怀疑是否有任何 Drupal 扩展会这样做,如果确实如此,它应该被踢出 drupal 世界。

您可以从这张图片中看到我们为用户准备了多少张表

//img1.sycdn.imooc.com//61a9fab00001476804200764.jpg

查看完整回答
反对 回复 2021-12-03
?
墨色风雨

TA贡献1853条经验 获得超6个赞

我要研究的选项是制作一个具有剥离设计的页面模板,您可以按照最初尝试的方式进行嵌入。

如果您不知道如何让 Drupal 为单个页面提供自定义模板,那么我会编写一些 JavaScript 或 CSS 来删除/隐藏所有我不想在嵌入到应用程序。

您可以添加查询字符串参数,或制作带有表单的第二页,以便您可以检测何时需要更改设计。

正如您已经发现的那样,尝试手动进行操作很复杂,除非我已经是该特定领域的专家,否则我不想承担这项任务。

不知道你有没有考虑过完整的用户体验?用户注册后会发生什么?您最终会得到一个完整的表格,但应用程序不会知道它已注册,因为这将在服务器上发生。我认为 JWT 将是开始研究的方向,但我没有可以建议的简单解决方案。


查看完整回答
反对 回复 2021-12-03
  • 2 回答
  • 0 关注
  • 183 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信