codex68
3 سال پیش توسط codex68 مطرح شد
5 پاسخ

سوال در مورد لاراول

سلام
دوستان من چندین بار هستش در این باره داره درخواست هایی رو اینجا ایجاد می کنم اما واقعا به جواب نرسیدم.
ممنون میشم کسی فکری راهی داره بهم کمک کنه.
من یه سیستمی نوشتم الان مشکلم این هستش.مثلا یه برگه رو باز می کنه کاربر من تو اون برگه بع از باز شدن کاربر می تونه کارهای متفاوت انجام بده مثال : روی گزینه ایجاد معامله کلیک کنه یا معامله ایجا شده رو لغو کنه و ... خوب.وقتی کاربر من معامله ایجاد می کنه یا لغو می کنه با یه ریدایرکت بر می گرده دوباره به همین برگه : مشکل از اینجا شروع میشه.
من پیام رو به صورت سیشن پاس می دم به صفحه برگشتی این پیام نمایش داده نمیشه اول وقتی کاربر یک کار دیگه تو اون برگه انجام میده و وباره ریدایرکت میشه حالا پیام میاد بالا نمایش داده میشه.البته نه پیام قبلی ها پیام جدید . یعنی اولین درخواست هر چی باشه ریدایرکت بشه به برگه هیچ پیامی نمیاد از درخواست های بعدی پیام ها درست نمایش داه میشن. و کاربر از برگه خارج بشه بره بیرون دوباره همین مشکل هست بای یکبار هر کاری کنه پیام رو نبینه از دفعه بعدش پیام ها رو می بینه.
@websaz
@mohaligateway
@samanzdev
@Rp76
@rezajahangir
@juza66


ثبت پرسش جدید
رضا پارسیان
تخصص : توسعه دهنده Php , Laravel
@Rp76 3 سال پیش مطرح شد
0

باید کد هاتو بذاری تا واقعا به جوابت برسی


codex68
@hunt.coders1989 3 سال پیش آپدیت شد
0

یک کد با چندین شرط که هر کدوم از شرط ها هم اگه اجرا بشن ریدایرکت میشه با پیام خاص اجرا نشه بازم ریدایرکت میشه با پیام خطای خاص

public function buy_make(Request $request,$coin)
      {
        $user_id = Auth::user()->id;
        $qfee = \DB::table('crypto_setting')->where('name',$coin)->first();
        $coin_price = \DB::table('crypto_price')->where('name',$coin)->first();
        $doge_price = \DB::table('crypto_price')->where('name','doge')->first();
        $price = $request->get('buy_price');
        $coin_count = $request->get('buy_count');
        $user_doge_wallet = \DB::table('wallet')->where('wallet_coin','doge')->where('user_id',$user_id)->first();
        $full_usd_price = $price * $coin_count ;
        $fee = $full_usd_price * $qfee->sell_percent / 100 ;  // fee
        $full_usd = $full_usd_price + $fee ;
        $coin_send = $full_usd / $doge_price->now_price;
        $coin_name = $coin;
        $mode = 'buy';
        $trade_section = 'doge';
        $coin_ex = $full_usd_price + $fee / $coin_price->now_price;
      if($coin_send < $user_doge_wallet->balance)
         {
           //mojodi dare baraye sabte in darkhast
           if($full_usd_price > 5)
               {
                 //start insert
                 $rand1 = rand(111111,9999999999);
                 $rand2 = time();
                 $random = $rand1.$rand2 ;
                 $id_sec = md5($random) ;
                       //start insert
                       //freez token
                 $Q_Freez_Ago = \DB::table('coin_wallet')->where('wallet','doge')->where('user_id',$user_id)->first();
                 $Q_Freez = \DB::table('coin_wallet')->where('wallet','doge')->where('user_id',$user_id)->update([
                   'balance' => $Q_Freez_Ago->balance - $coin_send
                 ]);
                 $Q_Insert = \DB::table('spot_limit')->insert([
                    'id_sec' => $id_sec.$user_id,
                    'user_id' => $user_id ,
                    'price' => $price,
                    'coin_count' => $coin_count,
                    'coin_name' => $coin_name,
                    'coin_send' => $coin_send,
                    'fee' => $fee,
                    'mode' => $mode,
                    'trade_section' => $trade_section
                  ]);
                  if($Q_Insert)
                     {
                       //complete
                       return redirect()->back()->with(['buy request ok'=>'buy request ok']);
                     }else{
                       //error
                       return redirect()->back()->with('buy request error', 'buy request error');
                     }
               }else{
                 //min buy 5 dollar
                 return redirect()->back()->with('min buy 5 dollar', 'min buy 5 dollar');

               }
         }else{
           //dont have money
           return redirect()->back()->with('dont have money', 'dont have money');
          }

رضا پارسیان
تخصص : توسعه دهنده Php , Laravel
@Rp76 3 سال پیش مطرح شد
0

کد view رو نذاشتی هنوز


رضا پارسیان
تخصص : توسعه دهنده Php , Laravel
@Rp76 3 سال پیش آپدیت شد
0

حس میکنم راحت تر بودی یک متغیر تعریف میکردی بعد فقط ۱ return میذاشتی

$result="";

return redirect()->back()->with('error', $result);

توی view هم به این شکل

@if(session()->has("error))
    <div class='alert alert-primary'>
            {{session()->get("error")}}
    </div>
@endif

codex68
@hunt.coders1989 3 سال پیش مطرح شد
0

تو ویوو هم دقیقا مشابه شما رفتار کردم .
البته در مورد تعریف متغییر هم کاملا درست هستش اما از بس من گیر های الکی دیدم تو کدنویسی که دیگه ترجیح می دم راه سخت برم اما مطمئن باشم متغییر پر هستش . همین الان مشکل دارم رو اینکه بار اول خطا پاس داده نمیشه اما بار دوم پاس داده میشه.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام