Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 它们是集成Drupal-8和ionic4进行用户注册和登录的一种方法吗?_Php_Mysql_Ionic4_Drupal 8 - Fatal编程技术网

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

Php 它们是集成Drupal-8和ionic4进行用户注册和登录的一种方法吗?,php,mysql,ionic4,drupal-8,Php,Mysql,Ionic4,Drupal 8,我是Drupal8的新手,我正在为我的公司做一个项目,请帮助解决这个问题 我们已经在ionic应用程序中注册了,我们希望将数据发送到Drupal 8站点MySQL数据库 问题是,当我们在Drupal 8中使用多个注册模块创建注册表单时,表单中的每个字段都会创建一个单独的表,例如,数据库中的username字段有自己的表 我们如何将应用程序中的数据插入Drupal DB,以允许用户从应用程序或网站注册 我们在Drupal8中使用多重注册模块 我曾尝试使用应用程序内浏览器()将表单嵌入到我们的应用程

我是Drupal8的新手,我正在为我的公司做一个项目,请帮助解决这个问题

我们已经在ionic应用程序中注册了,我们希望将数据发送到Drupal 8站点MySQL数据库

问题是,当我们在Drupal 8中使用多个注册模块创建注册表单时,表单中的每个字段都会创建一个单独的表,例如,数据库中的username字段有自己的表

我们如何将应用程序中的数据插入Drupal DB,以允许用户从应用程序或网站注册

我们在Drupal8中使用多重注册模块

我曾尝试使用应用程序内浏览器()将表单嵌入到我们的应用程序中,但它显示了整个页面的页眉和页脚,这是我们不希望看到的

我还尝试将数据作为JSON文件发送,并使用PHP和MySQL命令将数据插入表中,但这是一项非常漫长而困难的任务

let headers:any=new-HttpHeaders({'Content-Type':'application/json'}),
选项:any={“key”:“create”,
“id”:对象id,
“全名”:obj.fullName,
“电子邮件”:obj.email,
“idNumber”:obj.idNumber,
“性别”:obj.gender,
“年龄”:对象年龄,
“电话”:obj.phone,
“状态”:对象状态,
“资格”:对象资格,
“技能”:对象技能[0],
“城市”:obj.city,
“术语”:对象术语,
},
this.http.post(url2、JSON.stringify(选项)、标题)
.订阅((数据:任意)=>{
console.log('successfully added');
},
(错误:any)=>{
log('发生了错误!',错误);
});
和用于插入数据

//检索已发布的数据
$json=file\u get\u contents('php://input');
$obj=json_decode($json);
$key=strip_标签($obj->key);
交换机($key)
{
案例“createTest”:
$field\u mdynt\u alskn\u target\u id=filter\u var($obj->field\u mdynt\u alskn\u target\u id),
过滤器\消毒\字符串,过滤器\标志\编码\低);
$field\u username\u value=filter\u var($obj->field\u altk\u al\u value),
过滤器\消毒\字符串,过滤器\标志\编码\低);
试一试{
$sql=“插入用户名(字段\用户名\值)值(:字段\用户名\值)”;
$stmt=$pdo->prepare($sql);
$stmt->bindParam(':field\mdynt\u alskn\u target\u id',$field\u mdynt\u alskn\u target\u id,PDO::PARAM\u STR);
$stmt->execute();
echo json_encode(数组('message'=>'祝贺记录'$name.'已添加到数据库');
}
//捕获运行准备好的语句时出现的任何错误
捕获(PDO$e)
{
echo$e->getMessage();
}
打破
这里的问题是,每个字段在数据库中都有自己的表,例如username字段有表user_name,表单中的所有字段都有相同的名称,而我对所有字段都有相同的名称,我想这不是正确的方法

是否有一种更快、更有效的方法将ionic 4应用程序注册表中的数据插入Drupal站点的数据库

谢谢,如果有需要,请告诉我,需要进一步澄清

只是澄清一下:

我们安装了“多注册页面模块”,然后使用“Drupal/admin/people/roles”创建不同的用户,如下图所示

然后使用“Drupal/admin/config/people/accounts/fields”为每个角色添加字段 如图所示


这导致Drupal在数据库中创建每个字段及其表。

首先修复数据库体系结构,为每个表单字段创建一个表并不是高效和可扩展的

我怀疑是否有任何Drupal扩展能做到这一点,如果能做到,它应该被踢出Drupal世界


你可以从这张图中看到我们为用户提供了多少个表,我要研究的选项是制作一个页面模板,它有一个精简的设计,你可以像最初尝试的那样嵌入

如果你不知道如何让Drupal为一个页面提供自定义模板,那么我会编写一些JavaScript或CSS来删除/隐藏所有嵌入应用程序时不希望看到的页面组件

您可以添加一个查询字符串参数,或者在窗体打开的情况下创建第二个页面,以便在需要更改设计时进行检测

正如您已经发现的,尝试手动操作是复杂的,并且不是我想承担的任务,除非我已经是该领域的专家


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

谢谢@Zeeshan Chawdhary的回复,,我们使用了多次注册,因此我们可以为用户提供不同的角色,我们根据用户角色(例如提供者和消费者)向表单添加了字段。表单工作正常,但数据库中有太多的表,每个表都属于一个s指定字段..我以前从未经历过类似的事情,这就是我有点迷路的原因。我尝试过使用您提到的页面模板,但在与“X-Frame选项”相关的内容上出现了错误这被拒绝显示一个框架,我不知道问题在哪里。你能告诉我一个关于JWT教程的好资源或一个与drupal相关的例子吗?我到处都找了,但什么也没找到。我们希望允许用户从应用程序注册,就像他们从web注册一样。你建议我们使用不同的技术吗