使用Laravel控制器的值重定向URL

时间:2018-11-02 07:00:43

标签: php laravel laravel-5 view controller

我是Laravel的新手,几天来一直陷入困境。我是用我的PHP代码完成的...

<a class="btn_full" href="/place-order.php?placeorder=true&distance=<?php echo $distance_km; ?>">Place Order</a>

我想在Laravel控制器中使用HREF来做同样的事情...

更新2

<?php

public function custom_pay(Request $request)
{
    try {
        Stripe::setApiKey(Setting::get('stripe_secret_key'));
        $token = $_POST['stripeToken'];

        $customer = \Stripe\Customer::create([
            'source' => $token,
            'email' => Auth::user()->email,
        ]);
        request('distance');

        return redirect('/place-order.php?placeorder=true&distance=' . $distance);
    } catch (\Exception $e) {
        return $e->getMessage();
    }
}

但是,它没有发送带有URL的$distance_km值。我该怎么做?预先感谢。

更新3

我按照建议添加了这部分...

$distance= request('distance');

return redirect('/place-order.php?placeorder=true&distance=' . $distance);

在刀片文件中,我添加了以下内容:

<input name="distance" value="{{ $distance_km }}" type="hidden" />

它仍然不起作用。它会生成以下URL:“ mysitename.com/createorder?placed=true”,并执行除保存距离值以外的所有其他操作。在数据库中,该值为空,应该通过URL传递。

3 个答案:

答案 0 :(得分:2)

在这样的PHP中,字符串插值与双引号一起使用

return redirect("/place-order.php?placeorder=true&distance=$distance_km");

或者您可以像这样连接您的值:

return redirect('/place-order.php?placeorder=true&distance=' . $distance_km);

答案 1 :(得分:0)

您必须使用Laravel结构,而不能使用核心php。

return redirect->route('your routename');

答案 2 :(得分:0)

查看文档:{​​{3}}

此处https://laravel.com/docs/5.7/routing

这样做: return redirect("/place-order.php?placeorder=true&distance=$distance_km");