Registrazione utenti
Author: Angelo V.
Visited 1264,
Followers 3,
Shared 0
Ciao a tutti,
è possibile registare in un DB gli utenti che fanno login, non quando si registrano ma tutte le volte che entrano in modo di sapere tutte le volte che fanno login
Grazie
Posted on the
Non vedo soluzioni semplici al problema.
Ma se sai programmare nulla è impossibile.
Author
grazie, speravo in soluzioni semplici:)))
Buongiorno!
Al momento quanto descrivi non è possibile tramite le funzioni di WebSite X5, dovresti quindi impiegare del codice esterno. Ti consiglio di mantenere questo post impostato come pubblico, così che gli altri utenti possano eventualmente indicarti come procedere.
Grazie! Buona giornata.
Author
ok grazie Elisa
Se ci vuoi provare, se ti serve aiuto, dovresti spiegare bene lo scopo che ti prefiggi con questo conteggio di registrazioni e postare i link dei tentativi fatti.
Author
lo scopo è quello di sapere quando un utente entra nel sito e che venisse registrato in un DB
Un modo semplice potrebbe essere questo:
Crea una pagina d'ingresso che deve essere nascosta e protetta e deve essere anche l'unica protetta del sito.
Metti l'oggetto login in contenuto del modello Header
Setta quella pagina come pagina d'ingresso per registrazione automatica in impostazioni > avanzate > gestione accessi.
Inserisci in quella pagina il seguente codice e se vuoi, personalizza le frasi in grassetto
<?php
// leggo i dati di connessione
$pa = Configuration::getPrivateArea();
$user = $pa->whoIsLogged();
$username = $user['username'];
$oggi=date("Y-m-d H:i:s");
$qchiave = array_keys($imSettings['databases']);
$qdati = getDbData($qchiave[0]);
$host = $qdati['host'];
$db_user = $qdati['user'];
$db_psw = $qdati['password'];
$db_name = $qdati['database'];
$dati = "accessi"; // puoi personalizzare il nome della tabella
$db = new mysqli ($host, $db_user, $db_psw, $db_name);
if ($db->connect_error) {
die('Errore di connessione (' . $db->connect_errno . ') '. $db->connect_error);
}
// crea tabella se non esiste
$sql="CREATE TABLE IF NOT EXISTS $dati (
id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
utente VARCHAR(30),
data DATETIME
)";
if ($db->query($sql) !== TRUE)
{
echo "Error creating table: " . $conn->error;
}
// registro l'utente che si è loggato
$sql = "INSERT INTO $dati (utente, data)
VALUES ('$username','$oggi')";
if ($db->query($sql) === TRUE) {
echo "Grazie per essere tornato sul mio sito"; // testo da pesonalizzare
} else {
echo "Errore Inserimento: " . $db->error;
}
?>
ps. Testato con la versione 16 ma dovrebbe funzionare anche con la versione attuale.
Author
Grazie,
Giorgio conservo il codice che proverò grazie ancora.
Angelo
@Angelo...
Nel forum HelpCenter, per ringraziare gli utenti che ti rispondono, si usa cliccare su "utile" (la manina verde col pollice in su) sotto al loro post...
Quando il post è risolto è buona norma cliccare su "Corretto" (la spunta verde) alla risposta che ti ha risolto, per chiudere il post e far sapere alle altre persone che potrebbero avere un problema come il tuo che quella è la soluzione.
Se hai altre domande non inerenti il titolo di apertura di questo post, aprine uno nuovo.