Eu estou tentando gerar um código aleátorio no php,por exemplo:
A minha página de cadastro ira aparecer e na área do código eu coloquei uma função em que irá gerar um código aleátorio, mas quando eu aperto para cadastrar ,a minha página ela não adiciona o código,é como se eu desse um enter na página...ou seja eu aperto para cadastrar,depois disso a minha página não é direcionada para a listagem de produtos,ela é direcionada para a página de cadastrar novamente ,tendo todos os campos em brancos e apenas o do código está preenchido,já com outro código,eu não estou entendendo porque não consigo cadastrar,pois quando eu tento cadastrar normalmente sem esse geramento aleatorio de codigo e da certo. Alguma outra solução?
Arquivo do formulário:
@extends('adminlte::page')
@section('title', 'AdminLTE')
@section('content_header')
    <h1>Cadastrar</h1>
@stop
<?php $codigo=sprintf('%07X', mt_rand(0, 0xFFFFFFF))?>
@section('content')
   <form action="cadastrar" method="post"  onsubmit="return true">
        <input type="hidden" 
        name="_token" value="{{ csrf_token() }}" />
       <div>
           <label>Título</label>
           <input name="nome" class="form-control">
       </div>
      <div>
           <label>Codigo</label>
           <input name="codigo" value="{{$codigo}}">
       </div>
        <div>
           <label>Quantidade</label>
           <input name="quantidade" class="form-control">
       </div>
       <button type="submit" class="btn btn-primary btn-block">
           Cadastrar
       </button>
    </form>
@stopCódigo de adicionar no ProdutoController:
public function cadastrar(LivrosRequest $request){
            Livro::create($request->except(['diaehora']));
            return redirect()
              ->action('ProdutoController@lista');
        } 
            