• Home
  • Forum
  • Fare Web
  • PHP

[PHP] problema registrazione

  • Creatore Discussione Creatore Discussione ANDREA20
  • Data di inizio Data di inizio 27 Lug 2016
Prec.
  • 1
  • 2
  • 3
Succ.
Primo Prec. 2 di 3 Succ. Ultimo

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 27 Lug 2016
  • #21
ANDREA20 ha scritto:
$connection = mysqli_query ('login','admin_login','*****');
Clicca per allargare...
non ci siamo !
alla funzione devi passare la connessione e poi la query non i dati di connessione.
come hai fatto sotto
ANDREA20 ha scritto:
if (false == mysqli_query($connection,$sql))
Clicca per allargare...
 

ANDREA20

Utente Attivo
25 Giu 2016
145
1
18
28
  • 27 Lug 2016
  • #22
criric ha scritto:
non ci siamo !
alla funzione devi passare la connessione e poi la query non i dati di connessione.
come hai fatto sotto
Clicca per allargare...

in che senso non ho capito scusami se faccio mille domande ma purtroppo non ho studiato a scuola php quindi non so come funziona benissimo riesci ad farmi un esempio per favore
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 27 Lug 2016
  • #23
te l'ho fatto vedere nel primo mio post di questa discussione e ripetuto nel mio ultimo
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 27 Lug 2016
  • #24
noto con piacere che la pagina non da più errori
 

ANDREA20

Utente Attivo
25 Giu 2016
145
1
18
28
  • 27 Lug 2016
  • #25
http://www.civiaggio.it/login/register.php

ora funziona se provi ad effettuare la registrazione ti da errore ma non so da dove arriva l'errore
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 27 Lug 2016
  • #26
segui il messaggio di errore e vedi nel codice quando lo stampa
 

ANDREA20

Utente Attivo
25 Giu 2016
145
1
18
28
  • 27 Lug 2016
  • #27
ok va bene se sei di milano mi piacerebbe conoscerti e prender un caffè insieme e ti ripago tutti i favore che mi hai fatto
 

ANDREA20

Utente Attivo
25 Giu 2016
145
1
18
28
  • 27 Lug 2016
  • #28
ecco il file ho provato ad cambiare ma non va comque da sempre errore
PHP:
<?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 &egrave; obbligatorio.';
}
else if (false == emailIsValid($userEmail))
{
    $formErrors[] = "L'indirizzo email inserito non &egrave; 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 &egrave; obbligatorio';
}
else if (strlen($userPassword) < 6)
{
    $formErrors[] = 'La password inserita &egrave; 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 &egrave; obbligatorio';
}
else if (strlen($userName) < 3)
{
    $formErrors[] = 'Il nome inserito &egrave; 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 &egrave; gi&agrave; 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 &egrave; 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 &egrave; 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 &egrave; 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);

?>
 
Ultima modifica di un moderatore: 27 Lug 2016

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 27 Lug 2016
  • #29
si ferma qui
PHP:
$userId = registerNewUser($userData);

  if (false == $userId) {
  $formErrors[] = 'Si &egrave; verificato un errore durante la registrazione';
  }
recupera la funzione registerNewUser() va sicuramente in errore, controlla le query e la sintassi
ps:
non sono di Milano , l'ultima volta che ci sono stato era il 2009, grazie comunque
 

ANDREA20

Utente Attivo
25 Giu 2016
145
1
18
28
  • 27 Lug 2016
  • #30
aaaa tu dici quello tra parentesi ($userData); che va in errore? o tutto il codice?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 27 Lug 2016
  • #31
nel file utils.php hai una funzione che si chiama registerNewUser()
PHP:
function registerNewUser()
trovala e postala
 

ANDREA20

Utente Attivo
25 Giu 2016
145
1
18
28
  • 27 Lug 2016
  • #32
PHP:
<?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;
    }
}
 
Ultima modifica di un moderatore: 27 Lug 2016

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 27 Lug 2016
  • #33
non c'è li sarà in un altro file che includi, trovala
 

ANDREA20

Utente Attivo
25 Giu 2016
145
1
18
28
  • 27 Lug 2016
  • #34
sto cercando il file la stanchezza si fa sentire dopo tante ore ancora un attimo
 

ANDREA20

Utente Attivo
25 Giu 2016
145
1
18
28
  • 27 Lug 2016
  • #35
ti posso assicura ho girato tutti i file non c'è ne altri di quel comando solo nel primo quindi user.php devo inserirlo nei altri?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 27 Lug 2016
  • #36
posta user.php
 

ANDREA20

Utente Attivo
25 Giu 2016
145
1
18
28
  • 27 Lug 2016
  • #37
PHP:
<?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;
    }
}
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 27 Lug 2016
  • #38
qui c'è qualcosa di sbagliato
PHP:
  // 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);
non ho mai usato questa sintassi ma di sicuro devi modificare la seconda parte in questo modo
PHP:
// Assegno alla query i parametri da cercare
    $sql = sprintf($sql,
                $userEmail,
                $userPassword,
                mysqli_real_escape_string($userName),
                $token);
perchè mysqli_real_escape_string è una funzione non una variabile
Il mio consiglio è di rileggere bene tutto domani a mente fresca e di studiare bene il php e la sua sintassi.
Buona notte e buon lavoro
 

ANDREA20

Utente Attivo
25 Giu 2016
145
1
18
28
  • 27 Lug 2016
  • #39
ok va bene ovviamente domani con calma controllo perchè io ho preso da un file online infatti c'erano un po di errori quindi non saprei cosa c'è da corregere e questo il punto domani provo nel caso ti scrivo grazie mille per la pazienza buona notte
 

ANDREA20

Utente Attivo
25 Giu 2016
145
1
18
28
  • 28 Lug 2016
  • #40
Buongiorno.
ho provato ad modifcare ma non va comquei come procedo?
ti rimetto il codice qui completto?
 
Prec.
  • 1
  • 2
  • 3
Succ.
Primo Prec. 2 di 3 Succ. Ultimo
Devi accedere o registrarti per poter rispondere.

Discussioni simili

P
Problema con file di registrazione in php, non funziona e dà continui errori
  • PHPMan
  • 2 Feb 2015
  • PHP
Risposte
0
Visite
2K
PHP 2 Feb 2015
PHPMan
P
D
Problema script registrazione utente php mysql
  • davidanna23
  • 31 Lug 2012
  • PHP
Risposte
14
Visite
4K
PHP 31 Lug 2012
davidanna23
D
K
[php] Problema con inner join
  • Kiko74b
  • 22 Nov 2022
  • PHP
Risposte
4
Visite
2K
PHP 23 Nov 2022
Kiko74b
K
K
[PHP] Problema con variabili concatenate.
  • Kiko74b
  • 17 Ott 2022
  • PHP
Risposte
1
Visite
1K
PHP 30 Ott 2022
thanatos
T
T
  • Bloccata
ALTRO PROBLEMA CON ARRAY PHP
  • thanatos
  • 30 Mag 2021
  • PHP
Risposte
1
Visite
1K
PHP 30 Mag 2021
Max 1
D
problema php mysql
  • dgianmarco
  • 16 Dic 2020
  • PHP
Risposte
1
Visite
2K
PHP 22 Dic 2020
zorro
D
  • Bloccata
problema php mysql
  • dgianmarco
  • 16 Dic 2020
  • PHP
Risposte
1
Visite
2K
PHP 16 Dic 2020
Max 1
Z
Problema di sincronizzazione PAYPAL con PHP
  • z.cristiano
  • 11 Nov 2020
  • PHP
Risposte
1
Visite
1K
PHP 12 Nov 2020
Max 1
A
Problema checkout carrello php
  • andreagal4s
  • 25 Mag 2020
  • PHP
Risposte
2
Visite
1K
PHP 25 Mag 2020
Max 1
G
Problema caricamento tabelle MySql da PhP
  • Gian72Luca
  • 6 Apr 2020
  • PHP
Risposte
0
Visite
1K
PHP 6 Apr 2020
Gian72Luca
G
M
Problema con php per calcolo costo percentuale
  • Matteoarm99
  • 24 Mar 2020
  • PHP
Risposte
7
Visite
3K
PHP 25 Mar 2020
marino51
O
Problema Formmail in PHP su Aruba
  • onzynet
  • 5 Mar 2020
  • PHP
Risposte
0
Visite
2K
PHP 5 Mar 2020
onzynet
O
Chat e php [problema]
  • WebmasterFioriniAndrea
  • 16 Dic 2019
  • PHP
Risposte
3
Visite
1K
PHP 18 Dic 2019
macus_adi
  • Bloccata
Problema EasyPHP rete locale
  • nicoladag
  • 27 Nov 2019
  • Presentati al Forum
Risposte
1
Visite
921
Presentati al Forum 27 Nov 2019
Max 1
L
[PHP] Problema con Telegram
  • Lorenzo Poggi
  • 26 Nov 2019
  • PHP
Risposte
1
Visite
2K
PHP 26 Nov 2019
Max 1
  • Bloccata
[PHP] Problema che non mi fa vedere niente
  • WebmasterFioriniAndrea
  • 26 Nov 2019
  • PHP
Risposte
2
Visite
1K
PHP 26 Nov 2019
MarcoGrazia
K
Help: problema con uno script di booking in php!
  • kathe
  • 28 Ott 2019
  • PHP
Risposte
0
Visite
704
PHP 28 Ott 2019
kathe
K
A
[PHP] Problema query insert [RISOLTO]
  • Arawan Omacha
  • 10 Ott 2019
  • PHP
Risposte
14
Visite
3K
PHP 17 Apr 2020
Arawan Omacha
A
N
[Apache] problema con estensione php
  • nik04
  • 9 Set 2019
  • Apache
Risposte
0
Visite
2K
Apache 9 Set 2019
nik04
N
C
[PHP] Problema con download file
  • claudiorn
  • 5 Set 2019
  • PHP
Risposte
0
Visite
1K
PHP 5 Set 2019
claudiorn
C
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?