-2

目前正在从事个人项目并解决在提交表单时将签名的 URL(操作链接)通过电子邮件发送给用户的场景,一旦用户打开该链接并提交该 URL 中的表单,我正在努力实现和面临的目标开发中的问题是,如果有人在提交表单后再次打开该链接,他们会显示一个屏幕,可能会说您的回复已提交。任何关于这种功能的提示都可以使用 Laravel 构建,或者我应该搜索哪个主题可以让我理解如何解决这些场景。任何建议或提示将不胜感激。谢谢。

4

1 回答 1

1

这是 laravel 中的常见操作,您可以使用控制器轻松处理。标准方法是:

您应该创建一个链接并将其保存在您的数据库中。添加一个名为isSubmitted的字段。另外,我强烈建议您在数据库中为该链接设置 expire_date 字段。

使用以下命令使用 artisan 创建一个新的迁移:

php artisan make:migration links

然后,将您喜欢的文件添加到迁移中:

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class LinksTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('links', function (Blueprint $table) {
            $table->id();

            $table->text("url");
            $table->boolean("is_submitted")->default(false);

            $table->timestamp("expiration_data")->nullable();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('links');
    }
}

在下一步中,当您提交该表单时,在您的控制器中,更改isSubmitted字段的状态并将其再次保存到数据库中。下次调用 url 时,可以根据isSubmitted字段处理请求

于 2021-12-30T14:03:11.597 回答