Uhm beh, di metodi ce ne sono tanti, ma dipende sempre dalle tue necessità
Puoi distinguere gli utenti tramite IP come hai pensato inizialmente, ma come ti ho detto potrebbero esserci dei problemi usando proxy e cose di questo genere.
Puoi usare i Cookie, per memorizzare le sessioni, ma l'utente andrebbe perso cambiando browser o facendo un po' di pulizia nel pc.
Puoi usare un file di testo per memorizzare i dati principali, ma chiunque potrebbe vederlo e se punti ad avere molti utenti (o per lo meno più di 10) sarebbe poco pratico e insicuro.
Il metodo migliore è senza dubbio affidarsi ad un DB, in modo da poter gestire bene tutto anche con mille utenti.
Se il sito è un lavoro personale, e sai che lo userai soltanto tu, puoi lavorare in locale (ci sono centinaia di guide al riguardo), o semplicemente creare un cookie che conosci solo tu e mostrare determinati contenuti SOLO se quel cookie è presente. Ma se ci saranno molti utenti te lo sconsiglio vivamente
E' proprio quel che volevo fare ^^ Quindi, nel codice precedente dovrai sostituire quel pulsante con un form che invia i dati alla pagina elabora.php. Di seguito il codice di quest'ultima, ma se hai problemi a creare il form dimmelo che posto subitoSe creiamo un form in un'altra pagina che va a fare action su quest'altra con solo la scritta?
In questo modo, a prescindere da cosa invia il form, la pagina elabora.php prende il valore attualmente presente nel DB e lo inverte.Codice PHP:if($_SERVER['REQUEST_METHOD'] === 'POST'){ //Se l'utente arriva a questa pagina tramite un form
$sql = mysql_query("SELECT `status` FROM `nome_tabella` WHERE `id` = '1'"); //Seleziono la riga nel DB relativa al server
if(mysql_num_rows($sql)){ //Se la riga è presente
$data = mysql_fetch_assoc($sql);
$serverStatus = $data["status"]; //Memorizzo "nome_tabella"."status"
}
if($serverStatus)
$nuovoStatus = 0;
else
$nuovoStatus = 1;
if(!mysql_query("UPDATE `nome_tabella` SET `status` = '".$nuovoStatus."' WHERE `id` = '1';")) //Se si verifica un errore
die(mysql_error()); //Interrompe la pagina e lo mostra
if($nuovoStatus) //Se il server è attivo
echo "<span style=\"color:green\">Server Attivo</span>";
else //Se il server non è attivo
echo "<span style=\"color:red;\">Server Spento</span>";
}


) sarebbe poco pratico e insicuro.
Rispondi quotando