Thread obsoleto Codice di conferma non funzionante in MySql

Naturale96

Utente Medio
Autore del topic
3 Maggio 2011
102
47
Miglior risposta
0
Salve a tutti utenti di Sciax2! Lasciando in sospeso la pagina di registrazione, ho deciso di riprenderla come punto di riferimento. Solo che, c'è un problema: Io mi registro, il messaggio di email spedita viene visualizzato, clicco sul codice di conferma, ma non funziona D: Ecco qui il codice:

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

Non capisco dove sbaglio! Ricevo l'email, clicco sul link di attivazione account e non funziona.. Dov'è che sbaglio? Grazie in anticipo a chi mi aggiusta il codice :emoji_slight_smile:
 
Ultima modifica da un moderatore:
Riferimento: Codice di conferma non funzionante in MySql

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

Hai scritto $emai l invece di $email, comunque non capisco perché ti complichi la vita. Fai una tabella utenti con i campi id, username, password, email, active e key.

Active sarà 0 di default e key conterrà la key dell' utente. Quando l' utente si dirige in attiva.php?key=$suakey , controlli che lo stato attivo sia 0, poi che il codice immesso sia corretto e farai diventare active 1.
 
Riferimento: Codice di conferma non funzionante in MySql

Guarda, a me viene molto piu semplice fare a modo mio! Comunque sia, ancora nulla. L'email arriva ma il passkey non funziona :S
 
Riferimento: Codice di conferma non funzionante in MySql

La query:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

è mal strutturata, devi mettere un AND tra ogni condizione. Codiceconferma='$codiceconferma' AND Username='$username' AND Password='$password' AND Email='$email'

Se hai criptato la password alla registrazione, ricordati di criptarla nuovamente. Per il resto non ci capisco molto perché sinceramente e senza offesa, ci sono molte step inutili..

Ti consiglio di mettere or die(mysql_error()); dopo ogni query per scoprire gli errori. Spesso ce ne sono.

PS: Per i SELECT non servono le parentesi tonde..
 
Riferimento: Codice di conferma non funzionante in MySql

Ho fatto come hai detto tu:

-Ho cambiato la query, mettendo AND in ogni condizione
-Ho Tolto le parentesi tonde
-Ho messo or die(mysql_error()); ed errori STRANAMENTE non ne stampa
Comunque, non mi offendo perchè hai ragione. Ci sono molti step inutili, ma io voglio prima riuscire a far funzionare il codice e dopo riscriverlo definitivamente
 
Riferimento: Codice di conferma non funzionante in MySql

Che cosa ti dice quando tenti di attivare la key? non dà nessun errore né frase oppure spunta una tua frase?

Comunque mi stavo ponendo una domanda.. Nell' else if relativa all' isset $_GET['key'], crei una query dove utilizzi $username, $password etc, ma non essendo apparso il form, da dove li prendi? :/

Restituirà sempre 0 righe con campi vuoti..
 
Ultima modifica:
Riferimento: Codice di conferma non funzionante in MySql

Se stai parlando del primo if(!isset($_GET['passkey'])){ me ne sono accorto pure io.. Ma non credo dipende da questo perchè l'email viene inviata e i dati arrivano al database correttamente. Secondo me c'è qualcosa di mancante nella seconda parte del codice.. questa:


PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

Ho provato a ricontrollare meglio questa parte, ma lo stesso non capisco dove sto sbagliando :S
 
Ultima modifica:
Riferimento: Codice di conferma non funzionante in MySql

Parlavo proprio di quella parte.

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

$username, $password ed $email non vengono dichiarate in quel blocco, quindi restituirà sempre 0. Per sicurezza, fai un echo delle tre variabili e vedi.
 
Riferimento: Codice di conferma non funzionante in MySql

Ma quindi per dichiararle che dovrei fare? Scusa ma non sono molto abile con il Php. Per costruire questo codice ci ho messo un bel po di mesi :S
 
Riferimento: Codice di conferma non funzionante in MySql

Mesi per questo? XD Lo facevi più rapidamente con una sola tabella con 2 campi in più lol..

Comunque parlo di dichiarare nel senso che non sono specificate da nessuna parte, ora entriamo nella logica non nella programmazione.

Se gli passi campi che saranno sempre vuoti, come potrebbe dare esito positivo?

Modifica la query in:

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

e stop.