首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grav窗体插件错误

Grav窗体插件错误
EN

Stack Overflow用户
提问于 2017-09-23 23:30:02
回答 2查看 323关注 0票数 0

我已经实现了一个表单注册用户的电子邮件,以便我们可以向他们发送更新。

表单在集成上工作得很好,但在生产中却毫无理由地失败了。

当我尝试发送消息时,我收到一个500 post错误,并显示以下信息:

代码语言:javascript
复制
{error: {type: "Whoops\Exception\ErrorException", message: "Undefined index: type",…}}
error : {type: "Whoops\Exception\ErrorException", message: "Undefined index: type" , …}
file : "/var/www/20170803_project/user/plugins/form/classes/form.php"
line : 552
message : "Undefined index: type"
type : "Whoops\Exception\ErrorException"

生成表单的代码:

代码语言:javascript
复制
{% set scope = scope ?: 'data.' %}
{% set multipart = '' %}
{% set method = form.method|upper|default('POST') %}

{% set action = form.action ? base_url ~ form.action : base_url ~ page.route 
 ~ uri.params %}

{% if (action == base_url_relative) %}
{% set action = base_url_relative ~ '/' ~ page.slug %}
{% endif %}

<form name="{{ form.name }}"
  action="{{ action }}"
  method="{{ method }}"{{ multipart }}
  {% if form.id %}id="{{ form.id }}"{% endif %}
  {% block form_classes %}
  {% if form.classes %}class="{{ form.classes }}"{% endif %}
  {% endblock %}
>

<div class="stay_tune pure-u-4-5 pure-g">
{% block inner_markup_fields_start %}{% endblock %}

<div class="group pure-u-3-5 email_register_container">
  <input name="email" type="email" required>
  <span class="highlight"></span>
  <span class="bar"></span>
  <label class="label">Email</label>
</div>

{% include "forms/fields/formname/formname.html.twig" %}

{% block inner_markup_fields_end %}{% endblock %}

{% block inner_markup_buttons_start %}
<div class="pure-u-2-5 register_button_container">
{% endblock %}
{{dump(form)}}
  <p class="message_form">{{form.process[1].message}}</p>
  <button type="submit" class="register_button" name="button">
{{form.button.value}}</button>
{% block inner_markup_buttons_end %}
</div>
{% endblock %}
</div>

{{ nonce_field('form', 'form-nonce')|raw }}
</form>

我确实检查了权限并清除了缓存,但没有成功,我没办法了。

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2017-10-21 22:48:09

552行的文件/user/plugins/form/classes/form.php包含这行代码if ($field['type'] == 'checkbox') {,这意味着:如果字段类型是'checkbox‘,那么...

你的错误"Undefined index: type“(严格地与数组相关)指出他无法在$field数组中找到并索引名为”type“的类型。

这段代码(第552行)也在一个名为post()的函数中执行。

因此,我可以推断出:在post请求之后检查字段时,其中一个字段没有type属性。

要解决这个问题,您可以检查表单上生成的HTML输出(检查元素),并找到错误的格式化输入。

票数 2
EN

Stack Overflow用户

发布于 2017-10-01 20:28:32

您的复选框似乎有问题。

你能发布你的表单定义吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46381230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档