Codice PHP:
$MyQuery2 = "Select * FROM Utente WHERE Nome = $Nome AND Prenotazione = $Prenotazione";
$Result = mysql_query($MyQuery2);
$rs2 = mysql_fetch_array($Result);
$Prenotazione = $rs2["Prenotazione"];
$rs2->close;
Questo codice è a titolo di esempio? Se sì nessun problema, altrimenti ci sono alcune cose da segnalare:
- il codice non ha nessun effetto: all'inizio hai due variabili $Nome e $Prenotazione, il primo non viene toccato, alla seconda viene assegnato un valore necessariamente uguale a se stesso
- $rs2 non è un oggetto, non ha il metodo close ;)
- mysql_* è deprecato.
Codice PHP:
if ($Prenotazione < strftime("%Y-%m-%d"))
"Se [i]$Prenotazione[i] è avvenuto prima di questo momento..." sembra una condizione sempre vera. Se $Prenotazione rappresenta il 29 novembre 2016 ore 16:00:00, la guardia sarà vera dal 29 novembre 2016 ore 16:00:01 fino alla fine dei tempi (a meno che, con l'azione UPDATE CAMPO tu non stia modificando Prenotazione spostandolo nel futuro).
Ciò che dovrei fare è avviare una funzione di promemoria all'ingresso del sito una sola volta.
Quali sono le condizioni necessarie all'avvio della funzione di promemoria? "Una sola volta" si riferisce ad una prenotazione o ad un utente?
Per onorare il vincolo di unicità, la strada più veloce potrebbe essere inserire, nella base di dati, un'informazione sulla funzione di promemoria: true se è già stata inviata, false altrimenti. In questo modo il controllo diventa qualcosa come:
Codice PHP:
if (altre_condizioni() && $riga['promemoria_inviato'] == false)