【问题标题】:input the data from url Laravel从 url Laravel 输入数据
【发布时间】:2014-08-09 01:20:27
【问题描述】:

我需要从链接中获取值,然后将它们添加到数据库中。

我正在与另一位开发人员合作,他创建了一个 api 作为桥梁,因为他不了解 Laravel。这是 api http://laravel.io/bin/614Xv 我目前正在传递字符串值数据,如 http://laravel.io/bin/wYry0 并通过路由传递参数 $user、$name、$password。

这是我的路线

Route::get('/profile/activated/{user?}/{pass?}/{email?}', array(
        'as' => 'invited-user-account-created-get',
        'uses' => 'ProfileController@getCreateInvitedUser'
)); 

这是我的功能:

public function getCreateInvitedUser($user=null, $password=null, $email=null) {
    $user = Input::get('username', 'abcd');
    $pass = Input::get('password', '1234');
    $email = Input::get('email', 'asas@gam.com');

    //insert $user array in database users table
    $user = User::create(array(
        'username'      =>  $user,
        'password'      =>  $pass,
        'email'     =>  $email
        ));

}       

其他开发人员希望我将输入设置为我从 url 链接/profile/activated/user/pass/email 获得的变量

也许我累了,但我不明白他想让我做什么以及如何从 url 中获取变量。这样做的全部原因是当他们点击激活链接时立即将受邀访客信息存储在数据库中,这样他们以后就不必注册帐户了。

【问题讨论】:

  • 如果该路由正常工作,问题是您覆盖了在该方法中传递给它的值。该方法的前 3 行完全覆盖了传入的变量。

标签: php laravel


【解决方案1】:

你的路线有问题

改用这个

Route::get('/profile/activated/{user}/{pass}/{email}', array(
    'as' => 'invited-user-account-created-get',
    'uses' => 'ProfileController@getCreateInvitedUser'
)); 

但他的想法完全搞砸了!通过 URL 传递密码值,这到底是谁做的? 你听起来很开明,请建议他在他想要实现的任何目标上尝试不同的方法。

【讨论】:

  • 您好,感谢您的回复。我的路线很好,因为“?”使传递参数成为可选。 laravel.com/docs/routing
  • 但是,你是对的,我看不到其他开发人员正在尝试完成什么。
  • @Billy 哦,好吧!只需在PHP Best Practices 上给他建议
  • 是的,我最终让他走了,因为他只是在制造混乱。
猜你喜欢
  • 1970-01-01
  • 2017-04-03
  • 2016-11-13
  • 2021-12-31
  • 2017-09-20
  • 2020-05-05
  • 2020-06-10
  • 1970-01-01
  • 2019-05-08
相关资源
最近更新 更多