Salve,
Non desidero la soluzione, bensì una spiegazione teorica alla risoluzione del problema.
Vorrei arrivare per ragionamento, vorrei capire l'errore per imparare! C=
L'algoritmo effettua:
1. Creazione tabelle nel database;
2. Registrazione di un account: Nome, Cognome, Nickname (utilizzato per accedere) Password ed Email.
3. Un email invia Nickname e Password, e un link per confermare la registrazione.
4. Avviene in confronto del codice alfanumerico di 32 caratteri presente sul database e quello presente nel link per completare la registrazione e qui E' ERRORE!
Il link di conferma mi conduce in una pagina non esistente del tipo:
http://MIOSITOWEB/conferma_registrazione.php?id=32 caratteri alfanumerici
senza far attivare l'array e passare quindi da 0 a 1 (da non convalidato a convalidato)
Vi ringrazio dell'attenzione! =D
Una buona serata!
Codice PHP:
<?php require('db.php'); $id = $_GET['id']; $sql = "SELECT * FROM confirm WHERE confirm_validator = '$id'"; $query = mysql_query($sql) or die(mysql_error()); $pcarray = mysql_fetch_array($query); // Memorizza nell'array $pcarray if (!is_array($pcarray)) { echo "Oops! Niente da confermare!"; exit; } $user_id = $pcarray["confirm_userid"]; // Aggiorna la tabella user $update = "UPDATE user SET " . "user_reg = 1 " . "WHERE user_id = '$user_id'"; $result = mysql_query($update) or die(mysql_error()); ?> <html> <head> <title>Iscrizione confermata!</title> </head> <body> <h3>Complimenti, la tua iscrizione al sito è stata confermata!</h3>
[url="index.php"]Clicca qui per tornare alla Home Page ed effettuare il log-in[/url]</p> </body> </html>
$id contiene il valore di $msgid di 32 caratteri alfanumerici che viene inviata all'utente tramite un link:
$confirmmessage .= " <a href=\"MIOSITOWEB/conferma_registrazione.php" . "?id=$msgid\">Clicca qui per confermare la tua registrazione</a>";