<?php
/*
* In questo file sono contenute le funzioni utili
* alla gestione degli utenti
*/
// Includo la lista delle funzioni per dialogare con il database
require_once 'database.php';
// Questa funzione si occupa di autenticare un utente
// nel sistema
function authenticateUser($userEmail, $userPassword)
{
// Apro una connessione con il database
$connection = getConnection();
// Cerco nel database un utente attivo
// con la coppia email:password specificata
$sql = "SELECT user_id
FROM user
WHERE
email = '%s'
AND
password = '%s'
AND
active = 1";
// Assegno alla query i parametri da cercare
$sql = sprintf($sqli, $userEmail, $userPassword);
// Eseguo la query sul database
$result = mysqli_query($connection, $sql);
// Se si è verificato un errore oppure non ho trovato nessun risultato
if (false == $result || mysqli_num_rows($result) == 0)
return false;
// Questa riga contiene le informazioni dell'utente, se trovato nel database
$row = mysqli_fetch_assoc($result);
// Ritorno lo user_id dell'utente
return $row['user_id'];
}
// Questa funzione permette di registrare un nuovo utente nel sistema
function registerNewUser($userData)
{
// Apro una connessione con il database
$connection = getConnection();
// Questi sono i dati da inserire nel database
$userEmail = $userData['email'];
$userPassword = $userData['password'];
$userName = $userData['name'];
$token = $userData['token'];
// Query per inserire i nuovi dati nel database
$sql = "INSERT INTO user
(email, password, name, token)
VALUES
('%s', '%s', '%s', '%s') ";
// Assegno alla query i parametri da cercare
$sql = sprintf($sql,
$userEmail,
$userPassword,
$mysqli_real_escape_string, ($userName),
$token);
// Provo ad inserire i dati
if (false == mysqli_query($connection, $sql))
{
return false;
}
// se sono riuscito ad inserire i dati,
// ritorno l'ultimo user_id inserito
else
{
return mysqli_insert_id($connection);
}
}
// Questa funzione controlla l'esistenza
// nel database di un utente con uno specifico indirizzo email
function userEmailExists($userEmail)
{
// Apro una connessione con il database
$connection = getConnection();
// Conto il numero di utenti registrati con
// l'indirizzo email specificato
$sql = "SELECT user_id
FROM user
WHERE
email = '%s' ";
// Assegno alla query i parametri da cercare
$sql = sprintf($sql, $userEmail);
// Eseguo la query sul database
$result = mysqli_query($connection , $sql);
// Se non ho trovato utenti oppure se si è
// verificato un errore
if (false == $result || mysqli_num_rows($result) == 0)
{
return false;
}
// Altrimenti vuol dire che ho trovato un utente
// con l'indirizzo email specificato
else
{
return true;
}
}
// Questa funzione cerca i dati di un utente
// in base al token specificato
function userFindByToken($token)
{
// Apro una connessione con il database
$connection = getConnection();
// Cerco un utente con un certo token
$sql = "SELECT *
FROM user
WHERE
token = '%s'";
// Assegno alla query i parametri da cercare
$sql = sprintf($sql, $token);
// Eseguo la query sul database
$result = mysqli_query($connection, $sql);
// Se si è verificato un errore oppure non
// ho trovato nessun utente
if (false == $result || mysqli_num_rows($result) == 0)
{
return false;
}
// Ritorno i dati dell'utente trovato
return mysqli_fetch_assoc($result);
}
// Questa funzione cerca i dati di un utente
// in base all'indirizzo email specificato
function userFindByEmail($userEmail)
{
// Apro una connessione con il database
$connection = getConnection();
// Cerco un utente con un certo indirizzo email
$sql = "SELECT *
FROM user
WHERE
email = '%s'";
// Assegno alla query i parametri da cercare
$sql = sprintf($sqli, $userEmail);
// Eseguo la query sul database
$result = mysqli_query($connection, $sql);
// Se si è verificato un errore oppure non
// ho trovato nessun utente
if (false == $result || mysqli_num_rows($result) == 0)
{
return false;
}
// Ritorno i dati dell'utente trovato
return mysqli_fetch_assoc($result);
}
// Questa funzione cerca i dati di un utente
// in base ad un userId specificato
function userFindById($userId)
{
// Apro una connessione con il database
$connection = getConnection();
// Cerco un utente con un certo userId
$sql = "SELECT *
FROM user
WHERE
user_id = %d";
// Assegno alla query i parametri da cercare
$sql = sprintf($sqli, $userId);
// Eseguo la query sul database
$result = mysqli_query($connection, $sql);
// Se si è verificato un errore oppure non
// ho trovato nessun utente
if (false == $result || mysqli_num_rows($result) == 0)
{
return false;
}
// Ritorno i dati dell'utente trovato
return mysqli_fetch_assoc($result);
}
// Questa funzione serve per attivare l'account
// di un utente con un certo userId
function userActivate($userId)
{
// Apro una connessione con il database
$connection = getConnection();
// Attivo l'utente impostando il campo
// active a 1
$sql = "UPDATE user
SET active = 1, token = NULL
WHERE
user_id = %d";
// Assegno alla query i parametri da cercare
$sql = sprintf($sql, $userId);
// Eseguo la query sul database
$result = mysqli_query($connection, $sql);
// Se si è verificato un errore oppure nessun utente
// � stato attivato
if (false == $result || mysqli_affected_rows($connection) == 0)
{
return false;
}
// Altrimenti l'utente � stato attivato
else
{
return true;
}
}
// Questa funzione permette di settare il token
// di uno specifico utente, identificato dal suo userId
function userSetToken($token, $userId)
{
// Apro la connessione al database
$connection = getConnection();
// Questa è la query di aggornamento
$sql = "UPDATE user
SET token = '%s'
WHERE user_id = %d";
// Assegno alla query i parametri da cercare
$sql = sprintf($sqli, $token, $userId);
// Eseguo la query
$result = mysqli_query($connection, $sql);
// Se si è verificato un errore oppure nessun token � stato settato
// ritorno false
if (false == $result || mysqli_affected_rows($connection) == 0)
{
return false;
}
// altrimenti ritorno true
else
{
return true;
}
}
no, non ti sto seguendo
devi modificare la funzione cosi
PHP:
// Questa funzione permette di registrare un nuovo utente nel sistema
function registerNewUser($userData)
{
// Apro una connessione con il database
$connection = getConnection();
// Questi sono i dati da inserire nel database
$userEmail = $userData['email'];
$userPassword = $userData['password'];
$userName = $userData['name'];
$token = $userData['token'];
// Query per inserire i nuovi dati nel database
$sql = "INSERT INTO user
(email, password, name, token)
VALUES
('%s', '%s', '%s', '%s') ";
// Assegno alla query i parametri da cercare
$sql = sprintf($sql,
$userEmail,
$userPassword,
mysqli_real_escape_string($connection,$userName),
$token);
// Provo ad inserire i dati
if (false == mysqli_query($connection, $sql))
{
return false;
}
// se sono riuscito ad inserire i dati,
// ritorno l'ultimo user_id inserito
else
{
return mysqli_insert_id($connection);
}
}
}
// Questa funzione permette di registrare un nuovo utente nel sistema function registerNewUser($userData)
{ // Apro una connessione con il database $connection = getConnection();
// Questi sono i dati da inserire nel database $userEmail = $userData['email']; $userPassword = $userData['password']; $userName = $userData['name']; $token = $userData['token'];
// Query per inserire i nuovi dati nel database $sql = "INSERT INTO user
(email, password, name, token)
VALUES
('%s', '%s', '%s', '%s') ";
// Assegno alla query i parametri da cercare $sql = sprintf($sql, $userEmail, $userPassword, mysqli_real_escape_string($connection,$userName), $token);
// Provo ad inserire i dati if (false == mysqli_query($connection, $sql))
{
return false;
} // se sono riuscito ad inserire i dati,
// ritorno l'ultimo user_id inserito else
{
return mysqli_insert_id($connection);
}
}
}
getConnection è una funzione del file database.php, devi solo modificare quella funzzione che ti ho postato non tutto il file user.php, probabilemente hai tolto il richiamo al database.php.
Stai facendo il passo più lungo della gamba, devi tornare indietro e studiarti le basi di programmazione, io così non riesco ad aiutarti. Mi arrendo.
getConnection è una funzione del file database.php, devi solo modificare quella funzzione che ti ho postato non tutto il file user.php, probabilemente hai tolto il richiamo al database.php.
Stai facendo il passo più lungo della gamba, devi tornare indietro e studiarti le basi di programmazione, io così non riesco ad aiutarti. Mi arrendo.
<?php
/*
* In questo file sono contenute le funzioni utili
* alla gestione degli utenti
*/
// Includo la lista delle funzioni per dialogare con il database
require_once 'database.php';
// Questa funzione permette di registrare un nuovo utente nel sistema
function registerNewUser($userData)
{
// Apro una connessione con il database
$connection = getConnection();
// Questi sono i dati da inserire nel database
$userEmail = $userData['email'];
$userPassword = $userData['password'];
$userName = $userData['name'];
$token = $userData['token'];
// Query per inserire i nuovi dati nel database
$sql = "INSERT INTO user
(email, password, name, token)
VALUES
('%s', '%s', '%s', '%s') ";
// Assegno alla query i parametri da cercare
$sql = sprintf($sql,
$userEmail,
$userPassword,
mysqli_real_escape_string($connection,$userName),
$token);
// Provo ad inserire i dati
if (false == mysqli_query($connection, $sql))
{
return false;
}
// se sono riuscito ad inserire i dati,
// ritorno l'ultimo user_id inserito
else
{
return mysqli_insert_id($connection);
}
}
// Questa funzione controlla l'esistenza
// nel database di un utente con uno specifico indirizzo email
function userEmailExists($userEmail)
{
// Apro una connessione con il database
$connection = getConnection();
// Conto il numero di utenti registrati con
// l'indirizzo email specificato
$sql = "SELECT user_id
FROM user
WHERE
email = '%s' ";
// Assegno alla query i parametri da cercare
$sql = sprintf($sql, $userEmail);
// Eseguo la query sul database
$result = mysqli_query($connection , $sql);
// Se non ho trovato utenti oppure se si è
// verificato un errore
if (false == $result || mysqli_num_rows($result) == 0)
{
return false;
}
// Altrimenti vuol dire che ho trovato un utente
// con l'indirizzo email specificato
else
{
return true;
}
}
// Questa funzione cerca i dati di un utente
// in base al token specificato
function userFindByToken($token)
{
// Apro una connessione con il database
$connection = getConnection();
// Cerco un utente con un certo token
$sql = "SELECT *
FROM user
WHERE
token = '%s'";
// Assegno alla query i parametri da cercare
$sql = sprintf($sql, $token);
// Eseguo la query sul database
$result = mysqli_query($connection, $sql);
// Se si è verificato un errore oppure non
// ho trovato nessun utente
if (false == $result || mysqli_num_rows($result) == 0)
{
return false;
}
// Ritorno i dati dell'utente trovato
return mysqli_fetch_assoc($result);
}
// Questa funzione cerca i dati di un utente
// in base all'indirizzo email specificato
function userFindByEmail($userEmail)
{
// Apro una connessione con il database
$connection = getConnection();
// Cerco un utente con un certo indirizzo email
$sql = "SELECT *
FROM user
WHERE
email = '%s'";
// Assegno alla query i parametri da cercare
$sql = sprintf($sqli, $userEmail);
// Eseguo la query sul database
$result = mysqli_query($connection, $sql);
// Se si è verificato un errore oppure non
// ho trovato nessun utente
if (false == $result || mysqli_num_rows($result) == 0)
{
return false;
}
// Ritorno i dati dell'utente trovato
return mysqli_fetch_assoc($result);
}
// Questa funzione cerca i dati di un utente
// in base ad un userId specificato
function userFindById($userId)
{
// Apro una connessione con il database
$connection = getConnection();
// Cerco un utente con un certo userId
$sql = "SELECT *
FROM user
WHERE
user_id = %d";
// Assegno alla query i parametri da cercare
$sql = sprintf($sqli, $userId);
// Eseguo la query sul database
$result = mysqli_query($connection, $sql);
// Se si è verificato un errore oppure non
// ho trovato nessun utente
if (false == $result || mysqli_num_rows($result) == 0)
{
return false;
}
// Ritorno i dati dell'utente trovato
return mysqli_fetch_assoc($result);
}
// Questa funzione serve per attivare l'account
// di un utente con un certo userId
function userActivate($userId)
{
// Apro una connessione con il database
$connection = getConnection();
// Attivo l'utente impostando il campo
// active a 1
$sql = "UPDATE user
SET active = 1, token = NULL
WHERE
user_id = %d";
// Assegno alla query i parametri da cercare
$sql = sprintf($sql, $userId);
// Eseguo la query sul database
$result = mysqli_query($connection, $sql);
// Se si è verificato un errore oppure nessun utente
// � stato attivato
if (false == $result || mysqli_affected_rows($connection) == 0)
{
return false;
}
// Altrimenti l'utente � stato attivato
else
{
return true;
}
}
// Questa funzione permette di settare il token
// di uno specifico utente, identificato dal suo userId
function userSetToken($token, $userId)
{
// Apro la connessione al database
$connection = getConnection();
// Questa è la query di aggornamento
$sql = "UPDATE user
SET token = '%s'
WHERE user_id = %d";
// Assegno alla query i parametri da cercare
$sql = sprintf($sqli, $token, $userId);
// Eseguo la query
$result = mysqli_query($connection, $sql);
// Se si è verificato un errore oppure nessun token � stato settato
// ritorno false
if (false == $result || mysqli_affected_rows($connection) == 0)
{
return false;
}
// altrimenti ritorno true
else
{
return true;
}
}