| | |
| | | $email = $_POST['email'] ?? ''; |
| | | $msg = ''; |
| | | |
| | | |
| | | function insertDataOnTable(mysqli $mysql, string $email, string $number) { |
| | | /** |
| | | * Inserisce i dati trasmessi dal form ($email e $number) nella tabella |
| | | */ |
| | | function insertDataOnTable(mysqli $mysql, string $email, string $number): bool { |
| | | $esitoInserimento = false; |
| | | $query = "INSERT INTO Contact (email, telefono) VALUES ('$email', '$number');"; |
| | | try { |
| | |
| | | return $esitoInserimento; |
| | | } |
| | | |
| | | function controlloErrori(string $email, string $number, array &$errorMsgs) { |
| | | |
| | | /** |
| | | * controlla se ci sono errori sulla digitazione dei dati messi nel form |
| | | */ |
| | | function controlloErrori(string $email, string $number, array &$errorMsgs): bool { |
| | | if(!is_numeric($number) || strlen($number) != 10) { |
| | | $errorMsgs['number'] = 'Numero di telefono non corretto'; |
| | | }else { |
| | |
| | | return $validazioneOk; |
| | | } |
| | | |
| | | |
| | | function controlloSpamEmail(mysqli $connection, string $email) { |
| | | $esitoSpamEmail = false; |
| | | $query = "SELECT email, dtm_richiesta FROM Contact WHERE email = '$email' AND dtm_richiesta BETWEEN CURDATE() AND DATE_SUB(CURDATE(), INTERVAL 1 DAY);"; |
| | | /** |
| | | * controlla se nelle 24 ore prima non sia stata messa nel campo email la stessa mail per evitarne lo spam |
| | | */ |
| | | function controlloSpamEmail(mysqli $connection, string $email): bool { |
| | | $spam = false; |
| | | $query = "SELECT email, dtm_richiesta FROM Contact WHERE email = '$email' AND dtm_richiesta BETWEEN DATE_SUB(NOW(), INTERVAL 1 DAY) AND NOW();"; |
| | | |
| | | |
| | | |
| | | $result = $connection->query($query); |
| | | |
| | | while ($row = $result->fetch_assoc()) { |
| | | echo $row['email']."<br />\n"; |
| | | $rowcount=mysqli_num_rows($result); |
| | | |
| | | if ($rowcount > 0) { |
| | | $spam = true; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | return $esitoSpamEmail; |
| | | return $spam; |
| | | } |
| | | |
| | | |
| | |
| | | } catch (Exception $e) { |
| | | die($e->getMessage()); |
| | | } |
| | | controlloSpamEmail($conn, $email); |
| | | |
| | | if(controlloSpamEmail($conn, $email)) { |
| | | $smarty->display('avviso.tpl'); |
| | | exit; |
| | | } |
| | | |
| | | $esitoInserimento = insertDataOnTable($conn, $email, $number); |
| | | |
| | | |
| | | if($esitoInserimento == true) { |
| | | $smarty->display('conferma.tpl'); |