为了账号安全,请及时绑定邮箱和手机立即绑定

404 NOT FOUND with LARAVEL6

404 NOT FOUND with LARAVEL6

PHP
慕斯709654 2023-03-26 14:12:12
我在将变量传递到 URL 时遇到问题,路由存在但仍然是“404 NOT FOUND”。形式 :<form action="/rdv_{{$go->ID}}" method="post" role="form" data-aos="fade-up">       @csrf     <input placeholder="Email" type="email" class="form-control" name="email" id="email" />     <input placeholder="Votre numéro de téléphone " type="text" class="form-control" name="tel"       id="subject" />     <div id="buttons">     <button type="submit" class="btn btn-primary"> Prendre un rendez-vous </button>    </div> </form>控制器:rendezv.php: public function rdv ($ID) {        $nm=request('email');        $tel=request('tel');        $ID=request('{{$go->ID}}');        $doctor=doc::findOrFail($ID);        $rdv = new rendezvous() ;        $rdv->Email=$nm;        $rdv->Numéro_de_téléphone=$tel;        $rdv->IDD=$doctor->ID;        $rdv-> save();        return redirect('/index') ;      }}网站.phpRoute::post('/rdv_{ID}','rendezv@rdv');错误只是“404 | Not Found”。当我单击“Prendre un rendez-vous”按钮时,地址变为:“http://localhost:8000/rdv_1032569”,错误可能就在那里。
查看完整描述

3 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

我重新修改了代码如下:


视图:我更新了表单操作并添加了一个值为“$go-ID”的隐藏输入字段。


<form action="/rdv" method="post" role="form" data-aos="fade-up">

       @csrf

     <input placeholder="Email" type="email" class="form-control" name="email" id="email" />

     <input placeholder="Votre numéro de téléphone " type="text" class="form-control" name="tel" id="subject" /> 

<input type="hidden" class="form-control" name="goID" value="{{$go->ID}}" />

    <div id="buttons"> 

    <button type="submit" class="btn btn-primary"> Prendre un rendez-vous </button>

    </div> 

</form>

控制器:我假设视图中的 $go->ID 与控制器中的 $doctor->ID 相同。所以,我将 $rdv->IDD 的值赋值为 $ID;


公共函数 rdv () {


    $nm=request('email');

    $tel=request('tel');

    $ID=request('goID');


    $rdv = new rendezvous() ;


    $rdv->Email=$nm;

    $rdv->Numéro_de_téléphone=$tel;

    $rdv->IDD=$ID;


    $rdv-> save();


    return redirect('/index') ; 

 }

路线:我从路线中删除了“_{ID}”。


Route::post('/rdv','rendezv@rdv');


查看完整回答
反对 回复 2023-03-26
?
浮云间

TA贡献1829条经验 获得超4个赞

错误很可能来自于此$doctor=doc::findOrFail($ID); 如果没有指定 ID 的文档模型,laravel 会自动返回 404。


要更改此行为,请find()手动使用和处理返回,例如


  $doctor=doc::find($ID);


if(!$doctor) {

// return here

}


查看完整回答
反对 回复 2023-03-26
?
心有法竹

TA贡献1866条经验 获得超5个赞

改变路线 Route::post('/rdv/{ID}','rendezv@rdv')->name('rdv'); 和形成路线 actions="{{ route('rdv', [$go->ID]) }}"



查看完整回答
反对 回复 2023-03-26
  • 3 回答
  • 0 关注
  • 71 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信