°

laravel留言板-修改留言

PHP实战视频教程大全

laravel留言板-列表及删除留言一文中我们完成了laravel中留言的列表和删除,下面我们来完成留言的修改。在前面的课程中我们已经完成了修改的方法和路由的准备工作:

[php]

Route::match([‘get’,’post’],’edit/{id}’, ‘MsgController@edit’)->where(‘id’,'[0-9]{1,3}’);//同时处理留言编辑的界面展示和提交修改留言功能

[/php]

要做修改功能首先要加载修改界面,这有三个小点要注意:

1、修改按钮的链接地址设置

[html]

<a href="<?php echo URL::action(‘MsgController@edit’,[‘id’=>$msg->id]); ?>">修改</a>

[/html]

2、新建修改界面,修改界面实际上和我们的添加界面一样,所以复制一份add.php改名为edit.php,把send改为edit,这个时候我们就可以通过列表的修改按钮打开修改界面了。

3、编辑方法如下:

[php]

//修改留言
public function edit($id){
return view(‘edit’);
}

[/php]

注意接受通过参数传递过来的id,我们修改的时候必须根据它来。

现在我们虽然可以打开修改界面但是我们必须要把正在修改的数据展示出来才知道我们在修改哪条数据,这就需要根据传递的id查找当前的数据并且分配到模板中,如果不考虑后期修改时候的post提交,代码如下:

[php]

//修改留言
public function edit($id){
$msg=DB::table(‘msg’)->where(‘id’,$id)->first();
return view(‘edit’,[‘msg’=>$msg]);
}

[/php]

界面代码如下:

[php]

<form action="" method="post" class="dark-matter">
<input type="hidden" name="_token" value="<?php echo csrf_token();?>">
<h1>Contact Form
<span>Please fill all the texts in the fields.</span>
</h1>
<label>
<span>Your Name :</span>
<input id="uname" type="text" name="uname" value="<?php echo $msg->uname;?>" placeholder="Your Full Name" />
</label>
<label>
<span>Your Email :</span>
<input id="email" type="email" name="email" value="<?php echo $msg->email;?>" placeholder="Valid Email Address" />
</label>
<label>
<span>Message :</span>
<textarea id="content" name="content" placeholder="Your Message to Us"><?php echo $msg->content;?></textarea>
</label>
<label>
<span>&nbsp;</span>
<input type="submit" class="button" value="Edit" />
</label>
</form>

[/php]

接着我们就是要提交修改数据了,所以要判断,如果有post提交的数据说明你是通过修改界面提交了数据,如果没有post数据说明你是从列表打开了编辑界面:

[php]
//修改留言
public function edit($id){
if($_POST){
$data=[‘uname’=>$_POST[‘uname’],’email’=>$_POST[’email’],’content’=>$_POST[‘content’]];
$save=DB::table(‘msg’)->where(‘id’,$id)->update($data);
if($save!==false){
return redirect(‘index’);
}else{
return ‘修改失败!’;
}
}else{
$msg=DB::table(‘msg’)->where(‘id’,$id)->first();
return view(‘edit’,[‘msg’=>$msg]);
}
}
[/php]

这时再次提交修改就ok了,那么至此我们的laravel开发简易留言板项目就完成了。

打赏
  喜欢