par
PortgasDKiba » 13 avr. 2015, 12:36
Bonjour sadeq et merci pour ta réponse.
J'ai bien la logique en tête de l'algo me permettant de valider ce ou ces formulaires.
Le problème c'est plutôt sur l'organisation de mon code avec tous les contrôles etc.
Voici actuellement mon code :
Code : Tout sélectionner
<?php
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST") {
$errors = array();
$medecins_nom = array_filter($_POST['medecins_nom'], function ($value) {
return !empty($value);
});
if(empty($medecins_nom)) {
$errors[] = ''. _msgForm_NOM .'';
}
foreach($_POST['medecins_date'] as $medecins_date) {
if(empty($medecins_date)) {
$errors[] = ''. _msgForm_DATERDV .'';
} else if(!preg_match('/^([1-9]|[0-2][\d]|3[0-1])\/([1-9]|[0-1][0-2])\/(19|20)[\d]{2}$/', $medecins_date)) {
$errors[] = ''. _msgForm_DATEFORMAT .'';
} else {
$ad_medecins_date = DateTime::createFromFormat('d/m/Y', $medecins_date);
$timestamp_mdate = $ad_medecins_date->getTimestamp();
}
}
foreach($_POST['medecins_heure'] as $medecins_heure) {
if(empty($medecins_heure)) {
$errors[] = ''. _msgForm_HEURERDV .'';
} else if(!preg_match('/^(2[0-3]|[01][0-9]):[0-5][0-9]$/', $medecins_heure)) {
$errors[] = ''. _msgForm_HEUREFORMAT .'';
}
}
$laboratoires_rs = array_filter($_POST['laboratoires_rs'], function ($value) {
return !empty($value);
});
if(empty($laboratoires_rs)) {
$errors[] = ''. _msgForm_RS .'';
}
foreach($_POST['laboratoires_date'] as $laboratoires_date) {
if(empty($laboratoires_date)) {
$errors[] = ''. _msgForm_DATERDV .'';
} else if(!preg_match('/^([1-9]|[0-2][\d]|3[0-1])\/([1-9]|[0-1][0-2])\/(19|20)[\d]{2}$/', $laboratoires_date)) {
$errors[] = ''. _msgForm_DATEFORMAT .'';
} else {
$ad_laboratoires_date = DateTime::createFromFormat('d/m/Y', $laboratoires_date);
$timestamp_ldate = $ad_laboratoires_date->getTimestamp();
}
}
foreach($_POST['laboratoires_heure'] as $laboratoires_heure) {
if(empty($laboratoires_heure)) {
$errors[] = ''. _msgForm_HEURERDV .'';
} else if(!preg_match('/^(2[0-3]|[01][0-9]):[0-5][0-9]$/', $laboratoires_heure)) {
$errors[] = ''. _msgForm_HEUREFORMAT .'';
}
}
$medecins = $_POST['medecins_id'];
$laboratoires = $_POST['laboratoires_id'];
if(!empty($errors)) {
echo '<div class="alert mt20 error">
<ul>';
foreach($errors as $error) {
echo '<li>',$error,'</li>';
}
echo '</ul>
</div>';
} else {
// Mes requête d'insertions dans mes tables
echo '<div class="alert mt20 success">Les rendez-vous médecin(s) / laboratoire(s) ont bien été enregistrés.</div>';
}
?>
Bonjour sadeq et merci pour ta réponse.
J'ai bien la logique en tête de l'algo me permettant de valider ce ou ces formulaires.
Le problème c'est plutôt sur l'organisation de mon code avec tous les contrôles etc.
Voici actuellement mon code :
[code]
<?php
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST") {
$errors = array();
$medecins_nom = array_filter($_POST['medecins_nom'], function ($value) {
return !empty($value);
});
if(empty($medecins_nom)) {
$errors[] = ''. _msgForm_NOM .'';
}
foreach($_POST['medecins_date'] as $medecins_date) {
if(empty($medecins_date)) {
$errors[] = ''. _msgForm_DATERDV .'';
} else if(!preg_match('/^([1-9]|[0-2][\d]|3[0-1])\/([1-9]|[0-1][0-2])\/(19|20)[\d]{2}$/', $medecins_date)) {
$errors[] = ''. _msgForm_DATEFORMAT .'';
} else {
$ad_medecins_date = DateTime::createFromFormat('d/m/Y', $medecins_date);
$timestamp_mdate = $ad_medecins_date->getTimestamp();
}
}
foreach($_POST['medecins_heure'] as $medecins_heure) {
if(empty($medecins_heure)) {
$errors[] = ''. _msgForm_HEURERDV .'';
} else if(!preg_match('/^(2[0-3]|[01][0-9]):[0-5][0-9]$/', $medecins_heure)) {
$errors[] = ''. _msgForm_HEUREFORMAT .'';
}
}
$laboratoires_rs = array_filter($_POST['laboratoires_rs'], function ($value) {
return !empty($value);
});
if(empty($laboratoires_rs)) {
$errors[] = ''. _msgForm_RS .'';
}
foreach($_POST['laboratoires_date'] as $laboratoires_date) {
if(empty($laboratoires_date)) {
$errors[] = ''. _msgForm_DATERDV .'';
} else if(!preg_match('/^([1-9]|[0-2][\d]|3[0-1])\/([1-9]|[0-1][0-2])\/(19|20)[\d]{2}$/', $laboratoires_date)) {
$errors[] = ''. _msgForm_DATEFORMAT .'';
} else {
$ad_laboratoires_date = DateTime::createFromFormat('d/m/Y', $laboratoires_date);
$timestamp_ldate = $ad_laboratoires_date->getTimestamp();
}
}
foreach($_POST['laboratoires_heure'] as $laboratoires_heure) {
if(empty($laboratoires_heure)) {
$errors[] = ''. _msgForm_HEURERDV .'';
} else if(!preg_match('/^(2[0-3]|[01][0-9]):[0-5][0-9]$/', $laboratoires_heure)) {
$errors[] = ''. _msgForm_HEUREFORMAT .'';
}
}
$medecins = $_POST['medecins_id'];
$laboratoires = $_POST['laboratoires_id'];
if(!empty($errors)) {
echo '<div class="alert mt20 error">
<ul>';
foreach($errors as $error) {
echo '<li>',$error,'</li>';
}
echo '</ul>
</div>';
} else {
// Mes requête d'insertions dans mes tables
echo '<div class="alert mt20 success">Les rendez-vous médecin(s) / laboratoire(s) ont bien été enregistrés.</div>';
}
?>
[/code]