non ci siamo !$connection = mysqli_query ('login','admin_login','*****');
alla funzione devi passare la connessione e poi la query non i dati di connessione.
come hai fatto sotto
if (false == mysqli_query($connection,$sql))
non ci siamo !$connection = mysqli_query ('login','admin_login','*****');
if (false == mysqli_query($connection,$sql))
non ci siamo !
alla funzione devi passare la connessione e poi la query non i dati di connessione.
come hai fatto sotto
<?php
// includo il file con la lista delle funzioni di utilità
require_once 'inc/utils.php';
// Qui inseriremo gli errori avvenuti durante la validazione
// dei dati inseriti dall'utente nel form di login
$formErrors = array();
// Questi sono i dati inviati dall'utente
$userName            = $_POST['user-name'];
$userEmail             = $_POST['user-email'];
$userEmailRepeat     = $_POST['user-email-repeat'];
$userPassword         = $_POST['user-password'];
$userPasswordRepeat = $_POST['user-password-repeat'];
/* Controllo sull'indirizzo email
*
* Se la lunghezza è 0 allora il campo è vuoto
* altrimenti controllo che l'indirizzo email sia valido
* altrimenti controllo che l'indirizzo email sia uguale
* all'indirizzo email ripetuto
*/
if (strlen($userEmail) == 0)
{
    $formErrors[] = 'Il campo email è obbligatorio.';
}
else if (false == emailIsValid($userEmail))
{
    $formErrors[] = "L'indirizzo email inserito non è corretto";
}
else if ($userEmail != $userEmailRepeat)
{
    $formErrors[] = "L'indirizzo email e l'indirizzo ripeti email non sono uguali";
}
  
/* Controllo sulla password inserita
*
* Se la lunghezza è 0 allora il campo è vuoto
* altrimenti controllo che la password abbia una lunghezza di almeno 6 caratteri
* altrimenti controllo che il campo password ed il campo ripeti password siano uguali
*/
if (strlen($userPassword) == 0)
{
    $formErrors[] = 'Il campo password è obbligatorio';
}
else if (strlen($userPassword) < 6)
{
    $formErrors[] = 'La password inserita è troppo corta';
}
else if ($userPassword != $userPasswordRepeat)
{
    $formErrors[] = 'Il campo password ed il campo ripeti password non sono uguali';
}
  
/* Controllo sul campo nome
*
* Se la lunghezza è 0 allora il campo è vuoto
* altrimenti controllo che il campo nome abbia una lunghezza di almeno 3 caratteri
*/
if (strlen($userName) == 0)
{
    $formErrors[] = 'Il campo nome è obbligatorio';
}
else if (strlen($userName) < 3)
{
    $formErrors[] = 'Il nome inserito è troppo corto';
}
  
// Se il conteggio degli errori è 0 allora i dati inviati dall'utente
// sono validi, procedo con la registrazione del nuovo utente  
if (count($formErrors) == 0)
{
    // includo ora la lista di funzioni che servono per gestire l'utente
    require_once 'inc/user.php';
  
    // Per prima cosa mi assicuro che l'indirizzo email del nuovo utente
    // non sia già registrato nel database
    if (true == userEmailExists($userEmail))
    {
        $formErrors[] = "L'indirizzo email inserito è già stato registrato";
    }
    else
    {
        // La password inserita viene ora criptata tramite la funzione md5()
        // criptare la password è un buon modo per alzare il livello di sicurezza
        // del nostro sistema di login  
        $userPassword = md5($userPassword);
      
        // Questo è il codice alfanumerico di 32 caratteri che verrà utilizzato
        // nel link di attivazione account
        $activationToken = md5(time().'_'.$userEmail);
      
        /* Tento di registrare il nuovo utente sul database
        *
        * Se non riesco avverto il nuovo utente che non ho potuto registrarlo
        * altrimenti gli invio una email contenente un link con cui confermare
        * la registrazione
        */
        $userData = array(
            'email'        => $userEmail,
            'password'     => $userPassword,
            'name'         => $userName,
            'token'        => $activationToken
        );
      
        $userId = registerNewUser($userData);
      
        if (false == $userId)
        {
            $formErrors[] = 'Si è verificato un errore durante la registrazione';
        }
        else
        {
            // Questo è il link di attivazione che serve all'utente per confermare
            // la propria registrazione
            $activationLink = 'http://'.$_SERVER['HTTP_HOST'];
            $activationLink .= str_replace('register.php', 'confirm.php', $_SERVER['REQUEST_URI']);
            $activationLink .= '?token='.$activationToken;
          
            // Invio la mail in formato HTML
            $headers  = 'MIME-Version: 1.0' . "\r\n";
            $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
          
            // Oggetto e testo dell'email da inviare
            $subject     = 'Attivazione account';
            $emailText     = "<p>Gentile {$userName}, la tua registrazione è avvenuta correttamente.</p>"
                            . "<p>Per attivare il tuo account, clicca sul link sottostante</p>"
                            . "<p><a href=\"{$activationLink}\">Clicca qui per attivare il tuo account</p>";
                                          
            // Provo ora ad inviare l'email all'indirizzo del nuovo utente
            // Redirigo poi il nuovo utente alla pagina di conferma invio email
            if (false == mail($userEmail, $subject, $emailText, $headers))
            {
                $formErrors[] = "Si è verificato un errore durante il tentativo di invio dell'email di conferma";
            }
            else
            {
                header('Location: confirm_sendmail.php');
            }
        }  
          
    }
  
}
// Stampo a video la lista degli errori, se presenti
echo showFormErrors($formErrors);
?>
	$userId = registerNewUser($userData);
  if (false == $userId) {
  $formErrors[] = 'Si è verificato un errore durante la registrazione';
  }
	<?php
/*
* Questo file contiene la lista di funzioni di utilit�
* utilizzate nel sistema
*/
// Questa funzione permette di stampare una lista
// HTML di $formErrors
function showFormErrors($formErrors)
{
    return '<ul><li>'.implode('</li><li>', $formErrors).'</li></ul>';
}
// Questa funzione si occupa di controllare se un indirizzo
// email � stato scritto correttamente
function emailIsValid($email)
{
    if (false == preg_match('/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$/', $email))
    {
        return false;
    }
    else
    {
        return true;
    }
}
// Questa funzione si occupa di controllare se un token
// � scritto correttamente
function tokenIsValid($token)
{
    // Un token deve essere composto solamente da numeri e lettere
    // ed avere una lunghezza di 32 caratteri
    if (false == preg_match('/^([a-z0-9]){32}$/', $token))
    {
        return false;
    }
    else
    {
        return true;
    }
}
	<?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;
    }
}
	  // 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);
	// Assegno alla query i parametri da cercare
    $sql = sprintf($sql,
                $userEmail,
                $userPassword,
                mysqli_real_escape_string($userName),
                $token);