Laravel's get method not working as expected
P粉642436282
P粉642436282 2024-03-27 15:20:23
0
1
438

I'm trying to add data from a form using get method but when I submit it the data doesn't show up in the url like this

addcustomers_token=vkmH0qnA6g2mfVcQzYUU3ZE0ZQvkQYs4DuCtKteX&company_name=Hebert Frank Inc&customer_name=Beau Nixon&customer_surname=Schneider&customer_phone1=19655489736&customer_phone2=16612429699&customer_phone3 =14871 428281&customer_email1=qycuhuva@mailinator.com&customer_score=2&customer_job=Doloribus facilis no&customer_gender=woman&customer_source=Tawk Canlı Destek&user_id=1&user_company_id=1&tag_id =1&company_id=1

But its display is like this

/Add customer

MyController

public function store(Request $req)
    {
        //
         // Form validation (Zorunlu Alanlar)
        $this->validate(request(), [
            'customer_phone1' => 'required',

     





           
        ]);

     

     
        $customers = new Customers;
       
        $customers->customer_name              = $req->input('customer_name');
        $customers->customer_surname           = $req->input('customer_surname');
        $customers->customer_phone1            = $req->input('customer_phone1');
      
        $customers->customer_phone2            = $req->input('customer_phone2');
      
        $customers->customer_phone3            = $req->input('customer_phone3');
        $customers->customer_email1            = $req->input('customer_email1');
        $customers->customer_score             = $req->input('customer_score');
        $customers->customer_job               = $req->input('customer_job');
        $customers->customer_gender            = $req->input('customer_gender');
        $customers->customer_source            = $req->input('customer_source');
        $customers->customer_ref               = "";
        $customers->company_id                 = $req->input('company_id');




        $customers->user_company_id            = $req->input('user_company_id');
        $customers->user_id                    = $req->input('user_id');
        $customers->tag_id                     = $req->input('tag_id');
        
        if(!empty($req->company_name)){
        $companies = new Companies;
        $companies->company_name              = $req->input('company_name');
        $companies->company_type              = "";
        $companies->company_address           = "";
        $companies->company_country           = "";
        $companies->company_city              = "";
        $companies->company_phone             = "";
        $companies->company_email             = "";
        $companies->company_tax_office        = "";
        $companies->company_tax_no            = "";
        $companies->company_website           = "";
        $companies->company_score             = "";
        $companies->company_status            = "";




        $companies->user_company_id         = "1";
        $companies->user_id                 = $req->input('user_id');
        $companies->tag_id                  = "1";
    

        $companies->updateTimestamps();
        $companies->save();}
     
        $customers->updateTimestamps();
        $customers->save();
 
        return redirect()->back()->with('success', true);
        }

Related routes

Route::get('/addcustomers', function () {
    $companies = App\Models\Companies::all();  
    return view('addcustomers' , compact('companies'));
});

Route::get('/addcustomers2', [App\Http\Controllers\CustomersController::class, 'store']);

My form

<form action="/add-customers2" method="GET">
                    @csrf
                    <div class="row">
                        <div class="col-md-12 mb-4">
                            <label> <strong> Company Name </strong></label>
                            <input type="text" name="company_name" class="form-control" placeholder="Company Name">
                        </div>

                        <div class="col-md-6 mb-4">
                            <label> <strong> Customer Name </strong></label>
                            <input type="text" name="customer_name" class="form-control" placeholder="Customer Name">
                        </div>
                        <div class="col-md-6 mb-4">
                            <label> <strong> Customer Surname </strong></label>
                            <input type="text" name="customer_surname" class="form-control"
                                placeholder="Customer Surname">
                        </div>





                        <div class="col-md-4 mb-4">
                            <label> <strong>Phone 1</strong> *</label>
                            <input type="text" maxlength="11"
                                oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*?)\..*/g, '');"
                                name="customer_phone1" class="form-control" placeholder="Phone" reqiured>
                        </div>
                        <div class="col-md-4 mb-4">
                            <label> <strong> Phone 2 </strong></label>
                            <input type="text" maxlength="11"
                                oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*?)\..*/g, '');"
                                name="customer_phone2" class="form-control" placeholder="Phone">
                        </div>
                        <div class="col-md-4 mb-4">
                            <label> <strong> Phone 3 </strong></label>
                            <input type="text" maxlength="11"
                                oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*?)\..*/g, '');"
                                name="customer_phone3" class="form-control" placeholder="Phone">
                        </div>







                        <div class="col-md-6 mb-4">
                            <label> <strong> Customer Email </strong></label>
                            <input type="text" name="customer_email1" class="form-control" placeholder="Email">
                        </div>

                        <div class="form-group  col-md-6 mb-4 ">

                            <label class="control-label" for="customer_score"> <strong> Customer Score
                                </strong></label>
                            <select class="form-control " name="customer_score">
                                <option  selected="true" disabled="disabled" hidden>Choose..</option>
                                <option value="1">1</option>
                                <option value="2">2</option>
                                <option value="3">3</option>
                                <option value="4">4</option>
                                <option value="5">5</option>


                            </select>


                        </div>
                        <div class="col-md-6 mb-4">
                            <label> <strong> Customer Job </strong></label>
                            <input type="text" name="customer_job" class="form-control" placeholder="Customer Job">
                        </div>
                        <!-- 
                        <div class="col-md-6 mb-4">
                            <label> <strong> Call Later </strong></label>
                            <input type="text" name="call_later" class="form-control" placeholder="Call Later">
                        </div>

                        -->








                        <div class="form-group  col-md-6 mb-4 ">

                            <label class="control-label" for="customer_gender"> <strong> Customer Gender
                                </strong></label>
                            <select class="form-control select2" name="customer_gender">
                                <option value="Man" selected="selected">Man</option>
                                <option value="Woman">Woman</option>

                            </select>


                        </div>











                        <div class="form-group  col-md-12 mb-4 ">

                            <label class="control-label" for="customer_source"> <strong> Customer Source
                                </strong></label>
                            <select class="form-control " name="customer_source">
                                <option selected="true" disabled="disabled" hidden >Choose..</option>
                                <option value="Gelen Arama">Gelen Arama</option>
                                <option value="Tawk Canlı Destek">Tawk Canlı Destek</option>
                                <option value="WhatsApp">WhatsApp</option>
                                <option value="Formlar">Formlar</option>
                                <option value="E-Posta">E-Posta</option>
                                <option value="Referans">Referans</option>



                            </select>


                        </div>
                        <!-- 
                        <div class="col-md-6 mb-4">
                            <label> <strong> Customer Ref </strong></label>
                            <input type="text" name="customer_ref" class="form-control" placeholder="City">
                        </div>
                        -->

                        <?php $userId = Auth::id();  ?>
                        <input type="hidden" name="user_id" class="form-control" value="<?php echo $userId; ?>">


                        <input type="hidden" name="user_company_id" class="form-control" value="1">
                        <input type="hidden" name="tag_id" class="form-control" value="1">
                        <input type="hidden" name="company_id" class="form-control" value="1">




















                        <button type="submit" class="btn btn-dark mb-3 ">Kaydet</button>










                    </div>





                </form>

I want to add the record to the database and redirect back to /addcustomers url

What did i do wrong?

P粉642436282
P粉642436282

reply all(1)
P粉211273535

The reason you see /addcustomers in the URL is most likely because after submitting you have:

return redirect()->back()->with('success', true);

I assume your blade/html form submission page is on /addcustomers and after you submit it to /addcustomers2 it redirects back to /addcustomers code> due to the above code. You can confirm this by opening the Inspector on your browser and checking the Network tab (you may need to click an option to keep history). There you may see /addcustomers2 with all the parameters.

As others have said, you should use POST and rename your routes:

  • GET /addcustomers -> GET /customers
  • GET /addcustomers2 -> POST /customer
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template