رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ویرایش اطلاعات کاربری که لاگین کرده
#1
سلام
میخوام یه صفحه داشته باشم که کاربر بتونه اطلاعاتش رو ویرایش کنه
بعد برای اینکار کد های زیر رو نوشتم :
روت هام :‌
کد:
Route::get('/user/settings','UserController@Settings');
    Route::post('/user/settings/update','UserController@settingsUpdate');

کنترلرم :
کد پی‌اچ‌پی:
public function Settings()
    {
        
$user User::where('User_ID',\Auth::user()->id);
        
$count post::where('User_ID',\Auth::user()->id)->count();
        return 
view('settings',['user'=>\Auth::user()],compact('user','count'));
    }
    public function 
Update(Request $request User $user)
    {
        
$User User::where('Username',\Auth::user()->Username)->first();
        
$User->update($request->all());
        
$count post::where('User_ID',\Auth::user()->id)->count();
        
$postpost::orderBy('created_at','DESC')->paginate(5);
        return 
view('home',compact('count','post'))->with('success_user_update','اطلاعات شما با موفق?ت و?را?ش شد');
    } 
فرمم :
کد:
<form action="{{ url('/user/settings/update') }}" method="POST" enctype="multipart/form-data">
                    <input type="hidden" name="_method" value="PATCH">
                    <input type="hidden" name="_token" value="{{ csrf_token() }}">

                    <input type="text" placeholder="اسمتون ؟ " name="name" value="{{ old('name') }}" />
                    <input type="email" placeholder="ایمیلتون ؟ " name="email" value="{{ $user->email }}" />
                    <input type="text" name="username" value="{{ $user->username }}" disabled />
                    <input type="password" name="password" placeholder="پسورد جدید " value="{{ old('password') }}" />
                    <input type="file" name="image" value="{{ old('image') }}" />
                    <img src="{{ asset('img/user.jpg') }}" alt="" />
                    <input type="submit" value="اعمال تغییرات" />
                </form>

مشکل از چیه که وقتی روی دکمه اعمال تغییرات کلیک میکنم ارور زیر رو میده :
Whoops, looks like something went wrong.
1/1 MethodNotAllowedHttpException in RouteCollection.php line 219:
پاسخ
#2
این لاین رو توی روت
کد پی‌اچ‌پی:
Route::post('/user/settings/update','UserController@settingsUpdate'); 
به
کد پی‌اچ‌پی:
Route::post('/user/settings/update','UserController@Update'); 
تغییر بدید
توی کنترلر شما اثری از تابع settingsUpdate نیست
همیشه قبل از لود صفحه هم با Artisan یک route:list بگیرید اگر خطایی توی Route باشه بهتون اخطار میده
پاسخ
#3
بقیه کد ها اوکیه؟
پاسخ
#4
UPPPPPPPP
پاسخ
#5
route.php

کد پی‌اچ‌پی:
Route::get('/user/settings','UserController@Settings');
Route::patch('/user/settings/update','UserController@settingsUpdate'); 

UserController.php
کد پی‌اچ‌پی:
public function Settings(){
 
       $user  Auth::user();
 
       $count Post::where('user_id'$user->id)->count();

 
       return view('settings')->with('user'$user)->with('count'$count);
}
public function 
settingsUpdate(Request $request){
 
       $user Auth::user();
 
       foreach ($request->except(['_token''_method']) as $key => $value) {
 
           $user->$key $value;
 
       }
 
       $count Post::where('user_id'$user->id)->count();
 
       $post  Post::orderBy('created_at''DESC')->paginate(5);

 
       return view('home')->with('count'$count)->with('post'$post)
 
                          ->with('success_user_update''اطلاعات شما با موفق?ت و?را?ش شد');

وقتی میخواید کاربری که لاگین کرده رو ویرایش کنید احتیاجی نیست سرچ بزنید بر اساس username. هرچند امنیت این روش بسیار پایین هم هست.
برای پست های کاربرتون بهتره که از relation استفاده کنید.
اگر متغیر
کد پی‌اچ‌پی:
$count 
در چندین جا به کار میره یا از
کد پی‌اچ‌پی:
View::composer() 
و یا از
کد پی‌اچ‌پی:
View::share() 
استفاده کنید.
میتونید بجای
کد پی‌اچ‌پی:
Route:get 
و
کد پی‌اچ‌پی:
Route::patch 
ها از
کد پی‌اچ‌پی:
Route::resource 
استفاده کنید.
و در کل کد نویسی تمیز تری انجام بدید خیلی بهتره.
پاسخ
 


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  خروجی اطلاعات کشورها و استانها توسط رابطه بین مدل ها dodgy 0 15 11-18-2016, 08:44 AM
آخرین ارسال: dodgy
  لاگین شدن با موبایل به روش اپلیکیشن های پیام رسان Bvk.Programmer 2 158 08-30-2016, 05:38 AM
آخرین ارسال: ilbeygi
  اعتبار سنجی مدیر و کاربر هنگام لاگین کردن ilbeygi 0 83 08-22-2016, 02:11 PM
آخرین ارسال: ilbeygi
  مشکل در نمایش اطلاعات در blad pedramham1 0 68 06-29-2016, 01:48 PM
آخرین ارسال: pedramham1
  درخواست راهنمایی : تعریف سطوح دسترسی کاربری در لاراول Bvk.Programmer 10 612 03-07-2016, 06:38 PM
آخرین ارسال: Bvk.Programmer
Sad لاگین و اعتبارسنجی webmaster 1 120 02-15-2016, 05:25 PM
آخرین ارسال: Bvk.Programmer
  سوال : واکشی اطلاعات از دیتابیس و استفاده در کنترلر Bvk.Programmer 3 175 02-08-2016, 03:15 PM
آخرین ارسال: smartDeath
  Rest api در لاگین کردن Bvk.Programmer 1 140 01-03-2016, 07:54 PM
آخرین ارسال: Bvk.Programmer
  fragment در صفحه بندی اطلاعات tux-world 0 112 11-06-2015, 11:49 AM
آخرین ارسال: tux-world
  ساخت فرم لاگین شخصی سازی شده Webdeveloper 4 643 08-01-2015, 06:35 PM
آخرین ارسال: meysam1366

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

درباره انجمن فریم ورک لاراول

انجمن لاراولیستا به عشق توسعه دهنده ها و علاقمندان به این فریم ورک محبوب ایجاد شده و امیدواریم با نظرات خوبتون ما رو در بهبود کار یاری کنید. در ضمن خیلی هم خوشحال میشیم شما هم در توسعه این انجمن سهمی داشته باشید.