Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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 Symfony3尝试使用表单和细枝保存到db中_Php_Mysql_Forms_Twig_Symfony - Fatal编程技术网

Php Symfony3尝试使用表单和细枝保存到db中

Php Symfony3尝试使用表单和细枝保存到db中,php,mysql,forms,twig,symfony,Php,Mysql,Forms,Twig,Symfony,这是我第一次尝试将产品信息存储到mysql中。我提前道歉,如果代码不是最好的形式,我还在学习。这是我的registration.html.twig {% extends 'base.html.twig' %} {% block stylesheets %} <link href="{{ asset('bundles/framework/css/myStyle.css') }}" rel="stylesheet" /> {% endblock %}

这是我第一次尝试将产品信息存储到mysql中。我提前道歉,如果代码不是最好的形式,我还在学习。这是我的registration.html.twig

{% extends 'base.html.twig' %}

    {% block stylesheets %}
        <link href="{{ asset('bundles/framework/css/myStyle.css') }}" rel="stylesheet" />
    {% endblock %}

{% block title %}Create your product {% endblock %}


{% block body %}
    <div id="container">
    <h1 id="header">Create your product and store it in the database!</h1>
    </div>

    <form method="POST" id="registrationForm">
    <input type="text" id="pName" placeholder="Product name">
        <input type="text" id="pPrice" placeholder="Product price"> <br>
        <textarea id="pDescription" placeholder="Product description"></textarea>
    </form>
    <input type="submit" value="Submit" >

{% endblock %}
这是我的控制器的一部分,用于/insert页:

首先,它抱怨它
预期的参数类型为“object,array或empty”,“string”gived
,我猜它来自我试图将
$product
变量与指定路径传递给实体类的控制器。在文档中,这一部分非常混乱。它说,
$product=…
让我什么都没有,我设法理解这是一个实体类的路径,应该传递给
createForm
方法,但正如前面提到的,它抱怨它是
string
,而不是
array
。有没有人能检查一下我的代码,并给出错误的反馈?我现在真的很迷茫,不知道下一步该怎么办,也不知道如何解决这个问题。先谢谢你

  • 表单字段未设置
    name
    属性,这意味着不会从中发布任何数据

  • 在控制器中,
    $product
    应该是
    AppBundle\Entity\product
    的实例,而不仅仅是类名:

    $product = new \AppBundle\Entity\Product();
    
  • 表单不会自动从HTTP请求中检索数据(由于第1点的原因,HTTP请求不存在),您必须手动处理该请求:

    // inject the request here
    public function createAction(\Symfony\Component\HttpFoundation\Request $request)        {
        // ... 
        $form->handleRequest($request);
        if ($form->isValid()) {
            // ...
        }
    }
    
  • 表单字段未设置
    name
    属性,这意味着不会从中发布任何数据

  • 在控制器中,
    $product
    应该是
    AppBundle\Entity\product
    的实例,而不仅仅是类名:

    $product = new \AppBundle\Entity\Product();
    
  • 表单不会自动从HTTP请求中检索数据(由于第1点的原因,HTTP请求不存在),您必须手动处理该请求:

    // inject the request here
    public function createAction(\Symfony\Component\HttpFoundation\Request $request)        {
        // ... 
        $form->handleRequest($request);
        if ($form->isValid()) {
            // ...
        }
    }
    

  • 谢谢您的回答,您所说的
    name
    attributes是什么意思?我想弄明白,但我做不到。我还将
    $product
    变量更改为您指定的变量,但仍然得到相同的错误,即它需要数组或对象并接收字符串。
    -此元素中的属性为:
    类型
    id
    占位符
    。表单字段(例如类型为
    text
    input
    )需要一个
    name
    属性,在该属性下,值将通过
    POST
    请求发送到服务器。例如,带有此字段的值:
    稍后将在
    $request
    对象中访问,如:
    $request->request->get('theFieldName')
    ,并且也将出现在
    $\u POST['theFieldName']
    中。感谢您的回答,您所说的
    名称
    属性是什么意思?我想弄明白,但我做不到。我还将
    $product
    变量更改为您指定的变量,但仍然得到相同的错误,即它需要数组或对象并接收字符串。
    -此元素中的属性为:
    类型
    id
    占位符
    。表单字段(例如类型为
    text
    input
    )需要一个
    name
    属性,在该属性下,值将通过
    POST
    请求发送到服务器。例如,带有以下字段的值:
    稍后将在
    $request
    对象中访问,如:
    $request->request->get('theFieldName')
    ,并且也将出现在
    $\u POST['theFieldName']
    中。