WebSite X5Help Center

 
Stefano C.
Stefano C.
User

Come fare form pagina iscritti con data di stop iscrizioni programmabile?  it

Autore: Stefano C.
Visite 235, Followers 3, Condiviso 0  

vorrei inserire in area di accesso riservato una possibile data di stop per iscrizioni on line... come posso fare? 

Postato il
4 RISPOSTE
Massimo C.
Massimo C.
User

puoi utilizzare due modi, uno può essere quello di rendere nascosta la pagina col form dopo la data che decidi. Questo però non funziona se uno ha il link.

per fare questo puoi usare questo codice che ho utilizzato diverse volte

<?php
// Imposta la data in cui la pagina deve essere nascosta
$targetDate = '2023-05-31';

// Ottieni la data corrente
$currentDate = date('Y-m-d');

// Verifica se la data corrente è successiva alla data target
if ($currentDate > $targetDate) {
// Redirect alla pagina di errore o mostra un messaggio
header('Location: errore.php');
exit();
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Pagina Web</title>
<script type="text/javascript">
// Nascondi la pagina utilizzando JavaScript
window.onload = function() {
document.body.style.display = 'none';
};
</script>
</head>
<body>
<h1>Pagina Web</h1>
<p>Contenuto della pagina...</p>
<!-- Altri elementi HTML -->
</body>
</html>

In questo esempio, la data target è impostata su '2023-05-31', ma puoi cambiarla secondo le tue esigenze. La variabile $currentDate viene utilizzata per ottenere la data corrente utilizzando la funzione date() di PHP. Quindi, viene effettuata una verifica per confrontare la data corrente con la data target. Se la data corrente è successiva alla data target, viene eseguito un reindirizzamento alla pagina di errore tramite l'header HTTP. In alternativa, puoi mostrare un messaggio di errore sulla pagina stessa.

All'interno del tag <script> nel corpo dell'HTML, viene utilizzato JavaScript per nascondere l'intera pagina impostando display: none per il tag <body> una volta che la pagina è stata caricata.

Ricorda di adattare il codice alle tue esigenze specifiche, come il percorso corretto per la pagina di errore nel reindirizzamento o l'aggiunta di contenuto personalizzato alla pagina web.

Leggi di più
Postato il da Massimo C.
Massimo C.
Massimo C.
User

alternativamente puoi impostare un blocco direttamente sul database che contiene i dati, ma qui devi programamre un trigger sul server che gestisce il database, ad esempio PhpMyAdmin

Assegna un nome al trigger e specifica l'evento scatenante, che dovrebbe essere "BEFORE INSERT". Questo indica che il trigger verrà eseguito prima che una nuova riga venga inserita nella tabella. Nella sezione "Azione" del trigger, inserisci il codice PHP o SQL che verifichi la data corrente e restituisca un errore se è superiore alla data desiderata. Ad esempio, potresti usare il seguente codice SQL:

IF NEW.data > '2023-05-31' THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Errore: Data non valida.';
END IF;

Dove dovrai sostituire .data col nome della colonna della tua tabella di database che contiene la data. Inserendo una data successiva a quella "limite" dopo aver fatto invio comparirà un popup con il messaggio di errore, ma questo dipende dalla versione di PhPMyAdmin che hai (serve almeno la 5.7).

La cosa che però funziona sicuramente è che alla data di scadenza cancelli tu il form a mano, rendendolo irragiungibile, avendo cura di evidenziare bene un banner con riportata la data di scadenza.

Leggi di più
Postato il da Massimo C.
Claudio D.
Claudio D.
Moderator

@Stefano, ma intendi "registrazione manuale" degli utenti ? o "registrazione automatica" basata su DB ?

perchè potresti mettere un semplicissimo script di controllo all'apertura della pagina che se è superata una certa data , reinvia automaticamente ad altra pagina dove dici che le iscrizioni sono chiuse...

io ho provato questo e funziona...

https://stackoverflow.com/questions/39745746/redirect-after-date-and-time

Leggi di più
Postato il da Claudio D.
Stefano C.
Stefano C.
User
Autore

Si da DB... cmq ottima idea... devo solo leggere il campo nel db della scadenza e aggiornare lo script per la if... 
Grazie1000 Claudio.. tra qualche giorno provo e ti dico... purtroppo ora sono impegnato in altri fronti..

Leggi di più
Postato il da Stefano C.