رتبه موضوع:
  • 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 
استفاده کنید.
و در کل کد نویسی تمیز تری انجام بدید خیلی بهتره.
پاسخ
 


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  کسی قبلا از پکیج‌های Passport و Socialite استفاده کرده؟ bahbah 0 82 03-11-2017, 10:20 PM
آخرین ارسال: bahbah
  مشکل در نمایش و ویرایش موضوعات یک پست ErfanCoder 1 29 02-18-2017, 08:42 AM
آخرین ارسال: abi128
  درخواست راهنمایی : تعریف سطوح دسترسی کاربری در لاراول Bvk.Programmer 11 861 02-16-2017, 10:09 PM
آخرین ارسال: ansar
  لاگین هوشمند ehsanarian 0 36 01-28-2017, 11:52 AM
آخرین ارسال: ehsanarian
  خروجی اطلاعات کشورها و استانها توسط رابطه بین مدل ها dodgy 0 42 11-18-2016, 08:44 AM
آخرین ارسال: dodgy
  لاگین شدن با موبایل به روش اپلیکیشن های پیام رسان Bvk.Programmer 2 215 08-30-2016, 05:38 AM
آخرین ارسال: ilbeygi
  اعتبار سنجی مدیر و کاربر هنگام لاگین کردن ilbeygi 0 119 08-22-2016, 02:11 PM
آخرین ارسال: ilbeygi
  مشکل در نمایش اطلاعات در blad pedramham1 0 100 06-29-2016, 01:48 PM
آخرین ارسال: pedramham1
Sad لاگین و اعتبارسنجی webmaster 1 149 02-15-2016, 05:25 PM
آخرین ارسال: Bvk.Programmer
  سوال : واکشی اطلاعات از دیتابیس و استفاده در کنترلر Bvk.Programmer 3 231 02-08-2016, 03:15 PM
آخرین ارسال: smartDeath

پرش به انجمن:


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

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

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