function processForm() { $requiredFields = array("fecha", "direccion"); $missingFields = array(); $errorMessages = array(); $pedidos = new Pedidos(array("fecha" => isset($_POST["fecha"]) ? preg_match('/^\\d{1,2}\\/\\d{1,2}\\/\\d{4}$/', $_POST["fecha"]) : "", "direccion" => isset($_POST["direccion"]) ? preg_replace("/[^ \\’\\,\\.\\-a-zA-Z0-9]/", "", $_POST["direccion"]) : "")); foreach ($requiredFields as $requiredField) { if (!$pedidos->getValue($requiredField)) { $missingFields[] = $requiredField; } } if ($missingFields) { $errorMessages[] = ' <p class="error" >Debes introducir una fecha y una direccion </p> '; } if (Pedidos::getByFecha($_POST['fecha'])) { $errorMessages[] = '<p class="error">Esta fecha ya ha sido seleccionada.</p>'; } if ($errorMessages) { displayForm($errorMessages, $missingFields, $pedidos); } else { $_SESSION['fecha'] = $_POST["fecha"]; $_SESSION['hora'] = $_POST['hora'] . ":" . $_POST['minuto']; $_SESSION['cp'] = $_POST['localidad']; $_SESSION['direccion'] = $_POST['direccion']; $_SESSION['comensales'] = $_POST['comensales']; header('Location: pedidosplatos-platos.php'); } }