首页 > 解决方案 > laravel:如何使用打开模式设置会话

问题描述

我有 2 个用于 2 个模式的按钮。在下面的代码中:

<div>
    <h3>1 month</h3>
    <button type="button" class="pay-btn-1" data-toggle="modal" data-target="#modal1">Pay this featur</button>
</div>

<div>
    <h3>2 month</h3>
    <button type="button" class="pay-btn-2" data-toggle="modal" data-target="#modal2">Pay this featur</button>
</div>

我在页脚中插入 2 个模态:

<------ Modal 1------->
    <div id="modal1" class="modal fade" role="dialog">
        <div class="modal-dialog">
            <?php
            Session::flush('month');
            Session::put('month', 1);
            ?>
            <!-- Modal content-->
            <div class="modal-content">
                <form action="{{ route('panel.vip.payment') }}" method="post">
                    @csrf
                    <input type="hidden" value="1" name="plan">
                    <div>
                        <button type="submit">pay</button>
                    </div>
                </form>

                <button type="button" data-dismiss="modal">close</button>
            </div>

        </div>
    </div>

<------ Modal 2------->
    <div id="modal2" class="modal fade" role="dialog">
        <div class="modal-dialog">
            <?php
            Session::flush('month');
            Session::put('month', 2);
            ?>
            <!-- Modal content-->
            <div class="modal-content">
                <form action="{{ route('panel.vip.payment') }}" method="post">
                    @csrf
                    <input type="hidden" value="2" name="plan">
                    <div>
                        <button type="submit">pay</button>
                    </div>
                </form>

                <button type="button" data-dismiss="modal">close</button>
            </div>

        </div>
    </div>

我想在month单击任何支付按钮时清除会话,然后在month会话中设置该按钮的值(1 或 2)

我怎样才能做到这一点?

谢谢。

标签: phplaravelsessionbootstrap-modal

解决方案


按钮代码:

<div>
    <h3>1 month</h3>
    <button type="button" class="pay-btn-1" data-toggle="modal" data-target="#modal1">Pay this featur</button>
</div>

模式代码:

<------ Modal 1------->
    <div id="modal1" class="modal fade" role="dialog">
        <div class="modal-dialog">
            <!-- Modal content-->
            <div class="modal-content">
                <form action="{{ route('payment') }}" method="post">
                    @csrf
                    <input type="hidden" value="1" name="plan">
                    <div>
                        <button type="submit">pay</button>
                    </div>
                </form>

                <button type="button" data-dismiss="modal">close</button>
            </div>

        </div>
    </div>

单击按钮并在服务器端删除会话时将 ajax 发送到 PHP。

见下面的代码:

$('.pay-btn-1').click(function (e) {
                e.preventDefault();
                $.ajax({
                    type   : 'post',
                    url    : '/clear-session',
                    data   : {_token: "{{ csrf_token() }}"},
                    success: function (data) {
                        //
                    }
                });
            });

现在在controlleronclearSession方法中:

public function clearSession(Request $request)
    {

        $request->session()->forget('Vip');

        return response()->json('ok', 200);

    }

推荐阅读