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">×</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">×</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">×</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 :)
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 ?
Oui, c'est pas faux ... Tu coup je me suis pris pris la tête, j'ai fait 3 Form::hidden et basta ^^