Bonjour à tous,

Alors voilà, je récupére authomatiquement une date extraite de ma base de donnée suivant l'url de la page que je mets ensuite dans des Form::text pour évitez que l'utilisateur ne la modifie mais mon problème ce trouve que quand le visiteur submit sont form ces champs là, sont considéré comme vide alors qu'il s'affiche bien avec le value ...

Le début de mon formulaire:

{{ Form::open(['route' => 'reservation/submitEvent']) }}
            {{ Form::hidden('url', 'reservation/'.$eve) }}
            {{ Form::label('inputStartJour', 'Date de la réservations :') }}
            <div class="row">
                <div class="small-12 medium-4 large-4 columns">
                    {{ $errors->first('inputStartJour', '<div data-alert class="alert-box">Le jour de la réservation est requis.<a href="#" class="close">&times;</a></div>') }}
                    <?php
                        $nbr = strlen($items->jourStart);
                        if ($nbr == "1") {
                            $newSJ = "0".$items->jourStart;
                        } else {
                            $newSJ = $items->jourStart;
                        }
                    ?>
                    {{ Form::text('inputStartJour', $newSJ, ['disabled' => 'disabled']) }}

                </div>
        <div class="small-12 medium-4 large-4 columns">
            {{ $errors->first('inputStartMois', '<div data-alert class="alert-box">Le mois de la réservation est requis.<a href="#" class="close">&times;</a></div>') }}
            <?php
                $nbr = strlen($items->moisStart);
                if ($nbr == "1") {
                    $newSM = "0".$items->moisStart;
                } else {
                    $newSM = $items->moisStart;
                }
            ?>
            {{ Form::text('inputStartMois', $newSM, ['disabled' => 'disabled']) }}
        </div>
        <div class="small-12 medium-4 large-4 columns">
            {{ $errors->first('inputStartAnnee', '<div data-alert class="alert-box">L\'année de la réservation est requis.<a href="#" class="close">&times;</a></div>') }}
            {{ Form::text('inputStartAnnee', $items->anneeStart, ['disabled' => 'disabled']) }}
        </div>
    </div>

Et le traitement:

public function getSubmitEvent() {
            $rules = [
                'inputStartJour'     => 'required|min:1',
                'inputStartMois'     => 'required|min:1',
                'inputStartAnnee'    => 'required|min:1',
                'inputSalle'         => 'required',
                'inputEvenement'     => 'required',
                'inputCivilite'      => 'required',
                'inputNom'           => 'required|min:4|max:30',
                'inputPrenom'        => 'required|min:3|max:30',
                'inputTelephone'     => 'required|min:10|max:16',
                'inputNbr'           => 'required|min:1|max:4'
            ];
            $validator = Validator::make(Input::all(), $rules);
            if ($validator->fails()) {
                return Redirect::to(Input::get('url'))->withErrors($validator)->withInputs(Input::all());
            } else {
                $startJour     = Input::get('inputStartJour');
                $startMois     = Input::get('inputStartMois');
                $startAnnee    = Input::get('inputStartAnnee');
                $salle         = Input::get('inputSalle');
                $evenement     = Input::get('inputEvenement');
                $civilite      = Input::get('inputCivilite');
                $nom           = Input::get('inputNom');
                $prenom        = Input::get('inputPrenom');
                $telephone     = Input::get('inputTelephone');
                $email         = Input::get('inputEmail');
                $dayBirthday   = Input::get('inputDayBirthday');
                $monthBirthday = Input::get('inputMonthBirthday');
                $yearBirthday  = Input::get('inputYearBirthday');
                $nbr           = Input::get('inputNbr');
                $message       = Input::get('inputMessage');
                $ip            = $_SERVER['REMOTE_ADDR'];
                $browser       = $_SERVER['HTTP_USER_AGENT'];
                $number        = rand(0, 18957423698421);
                $currentJour   = date('d');
                $currentMois   = date('m');
                $currentYear   = date('Y');
                DB::insert('insert into reservation (jour, mois, annee, salle, evenement, civilite, nom, prenom, telephone, email, 
                    dayBirthday, monthBirthday, yearBirthday, nombre, message, currentJour, currentMois, currentYear, 
                    currentIp, currentBrowser, currentNumber) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', [
                        $startJour, $startMois, $startAnnee, $salle, $evenement, $civilite, $nom, $prenom, $telephone, $email, $dayBirthday, $monthBirthday, $yearBirthday, 
                        $nbr, $message, $currentJour, $currentMois, $currentYear, $ip, $browser, $number
                    ]);
                return Redirect::to(Input::get('url'))->with('message', 'Votre réservation a bien été enregistrer.');
            }
        }

Mais à chaque fois cela fails à cause des 3 inputs disabled, je comprend pas pourquoi ...

Est-ce que quelqu'un aurais une idée ?

Merci d'avance :)

4 réponses


Pierre Ftn
Réponse acceptée

tu dis que la date est extraite de ta base de donnée , tu peux donc la récupérer dans le controller directement non ?

pourquoi tu ne récupères pas la date du jour dans le controller ?

Parce que ce n'est pas la date courante ^^

Oui, c'est pas faux ... Tu coup je me suis pris pris la tête, j'ai fait 3 Form::hidden et basta ^^