'Laravel form post data from placeholder value

I want to pass the data on a form placeholder without user input, want to know if that is possible...

Below is my form in view

@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row justify-content-center">
        <div class="col-md-8">
        <form action="kind" method="POST">
         @csrf
         <div class="form-group">
    <label for="exampleFormControlInput1"><i style="color:#000" class="fa fa-user" style="font-size:24px"></i> Name</label>
    <input type="text" class="form-control" id="exampleFormControlInput1" name="name" placeholder="{{ auth()->user()->name }}" >
    <small>Type your name as given on the placeholder</small>
  </div>
  <div class="form-group">
    <label for="exampleFormControlInput1"><i style="color:#000" class="fa fa-building-o" style="font-size:24px"></i> Organazation</label>
    <input type="text" class="form-control" id="exampleFormControlInput1" name="organazation">
    <small>Type your organazation</small>
  </div>
  <div class="form-group">
    <label for="exampleFormControlInput1"><i style="color:#000" class="fa fa-map-marker" style="font-size:24px"></i> Country</label>
    <input type="text" class="form-control" id="exampleFormControlInput1" name="country">
    <small>Enter country</small>
  </div>
  <div class="form-group">
    <label for="exampleFormControlInput1"><i style="color:#000" class="fa fa-map-marker" style="font-size:24px"></i> Project name</label>
    <input type="text" class="form-control" id="exampleFormControlInput1" name="title">
    <small>Enter the name for the project</small>
  </div>
  <div class="form-group">
    <label for="exampleFormControlTextarea1"><i style="color:#000" class="fa fa-comment" style="font-size:24px"></i> Describe project</label>
    <textarea type="text" class="form-control" id="exampleFormControlTextarea1" rows="3" name="message"></textarea>
    <small>Describe the project in details</small>
  </div>
  <div class="form-group">
    <label for="exampleFormControlInput1"><i style="color:#000" class="fa fa-phone" style="font-size:24px"></i> Contacts</label>
    <input type="text" class="form-control" id="exampleFormControlInput1" name="contact">
    <small>Enter office contacts here</small>
  </div>
  <form action="{{ route('file.upload.post') }}" method="POST" enctype="multipart/form-data">
            @csrf
            <div class="row">
  
                <div class="col-md-6">
                    <input type="file" class="form-control" name="imogi">
                </div>
            </div>
            <small>Select business logo if any or implicating image</small>
            <br/>
            <br/>
            <button type="submit" class="btn btn-primary">Send</button>
        </form>
        <br/>
</form>
        </div>
    </div>
</div>
@endsection

...below is my controller

<?php

namespace App\Http\Controllers;

use App\Kind;
use Illuminate\Http\Request;

class KindController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function display(Request $request)
    {
        $request->validate([
            'name'=>'required',
            'organazation'=>'required',
            'country'=>'required',
            'title'=>'required',
            'message'=>'required',
            'contact'=>'required',
            'imogi'=>'required'
           
        ]);
        $Kind = new Kind;
        
        $Kind->name = $request->input('name');
        $Kind->organazation = $request->input('organazation');
        $Kind->country = $request->input('country');
        $Kind->title = $request->input('title');
        $Kind->message = $request->input('message');
        $Kind->contact = $request->input('contact');
        $Kind->imogi = $request->input('imogi');
        $Kind->save();

        return redirect()->back();

    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
    }

    /**
     * Display the specified resource.
     *
     * @param  \App\Kind  $kind
     * @return \Illuminate\Http\Response
     */
    public function show(Kind $kind)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  \App\Kind  $kind
     * @return \Illuminate\Http\Response
     */
    public function edit(Kind $kind)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \App\Kind  $kind
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, Kind $kind)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  \App\Kind  $kind
     * @return \Illuminate\Http\Response
     */
    public function destroy(Kind $kind)
    {
        //
    }

And this is my route

Route::POST('/kind', 'KindController@display')->name('kind');

Data is being submitted in the database from user input, but that`s not what i want...i want to capture authenticated user name without user manually inserting it



Solution 1:[1]

You need to pass the username through the value attribute, but make the input element read-only like this:

<input type="text" class="form-control" id="exampleFormControlInput1" name="name" value="{{ auth()->user()->name }}" readonly>

Solution 2:[2]

It will automatically exclude the placeholder from being sent when the form is submitted. So you need to send it through the hidden form field. Just replace the following line with your existed line and fetch name at the controller side.

<input type="hidden" class="form-control" id="exampleFormControlInput1" name="name" value="{{ auth()->user()->name }}" >

Solution 3:[3]

Add the following code on your controller with other of your fields

    $Kind = new Kind;
    
    $Kind->name = auth()->user()->name;
    $Kind->save();

    return redirect()->back();

Now don't anything in your view otherwise he/she can manually change even if the input is hidden

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Liudmila Savateeva
Solution 2 Ketan Harsoda
Solution 3 Nathan Mwamba