php - laravel 将数据从 Blade 文件传递到 Controller

标签 php html mysql laravel laravel-blade

我正在尝试将用户输入到在 Blade 中创建的表单中的数据,并将该数据传输到我的 Controller 。那时我可以在我的 Controller 中使用一个函数将数据写入 MySQL。

这是我的 blade 文件中的表单代码。

<form action="{{ route("users") }}" method="post">

<input type ="form" id="firstname"> firstname </input> <br>
<input type ="form" id="lastname"> lastname </input> <br>
<input type="form" id="email"> email </input> <br>
<input type="form" id="userlevel"> userlevel </input> <br>
<input type="form" id="password"> password </input> <br>


<br> <br>
<button type="submit"> Submit
</button>
</form>

这是我的 Controller 中将数据写入 MySQL 的代码。当我使用虚拟数据而不是 $name$lastname 变量时,该代码有效。

public function users()
{
    $name = $_POST["firstname"];
    $lastname = $_POST["lastname"];

    DB :: table("newUsers") -> insertGetId
    (
        array("firstname" => $name, "lastname" => $lastname, "email" => "test")
    );

    return view("pages.users");
}

我目前收到一条错误信息

Undefined index: firstname

理想情况下,我希望将用户输入的名字和姓氏写入我的 MySQL 表中。

最佳答案

您需要将 name 属性添加到您的输入并正确格式化它们,它们应该看起来更像:

<input type="text" id="firstname" name="firstname"></input>

如果您在占位符值的开始和结束输入标签之间放置“名字”,请改用占位符属性。

<input type="text" id="firstname" name="firstname" placeholder="first name"></input>

但请注意占位符属性在 older browsers 中不起作用

也不要使用 $_POST laravel 内置了从表单中获取值的方法。

拉拉维尔 5

$request->input('firstname');

像这样:

public function users(Request $request)
{
    $name = $request->input('firstname'); // This is better than using $_POST
    $lastname = $request->input('lastname');

    DB :: table("newUsers") -> insertGetId
    (
        array("firstname" => $name, "lastname" => $lastname, "email" => "test")
     );

    return view("pages.users");
}

请注意,我已经将 Request $request 作为方法 users 中的变量传入。您还需要将 use Illuminate\Http\Request as Request; 添加到您的类的顶部:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request as Request; //here

class MyController extends Controller
{
}

拉拉维尔 4

Input::get('firstname');

关于php - laravel 将数据从 Blade 文件传递到 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35921295/

相关文章:

javascript - 如何使用 HTML 创建带有下拉菜单的粘性导航栏?

python - 为什么找不到Dockerfile?

javascript - 在 Javascript 中对不同 ID 多次使用相同的函数

html - CSS 下拉菜单中的第三级需要更智能的垂直对齐

php - 表单未向查询字符串发送任何数据

php - Yii 的复杂 STAT GROUP BY

mysql - #1045 - 用户 'root' @'localhost' 的访问被拒绝(使用密码 : YES) while exporting data using mysql select query)

mysql - 无法在 Java EE/JBoss 应用程序中连接到 MySQL

php - 我将如何设置这些 div 标签的样式以获得有效的评论部分?

php - 如何将变量从 PHP 传递到 JS,对变量执行数学运算,然后输出到页面元素