Come scrivere codice per far funzionare link di conferma iscrizione via email
Ho qui uno script in php dove chi si iscrive tramite form riceve anche un'email di conferma registrazione con all'interno un link per confermare appunto l'iscrizione stessa. Il problema è che quando si va a cliccare questo link di conferma che nell'email appare così:
Clicca sul seguente link per attivare il tuo account: http://yourdomain.com/phplogin/activate.php?email=[qui c'è l'indirizzo email dell'iscritto]&code=62c5593d8a85f
Cliccando sul link mi restituisce questa risposta: Pagina non trovata (errore 404) La pagina http://nomedominio.it/cartella/filea...ate.php?email=[qui c'è l'indirizzo email dell'iscritto]&code=62c5593d8a85f non è presente.
Ora in base al seguente pezzo di codice collocato dentro la pagina register.php:
Codice PHP:
// Username doesnt exists, insert new account
if ($stmt = $con->prepare('INSERT INTO accounts (username, password, email, activation_code) VALUES (?, ?, ?, ?)')) {
// We do not want to expose passwords in our database, so hash the password and use password_verify when a user logs in.
$password = password_hash($_POST['password'], PASSWORD_DEFAULT);
$uniqid = uniqid();
$stmt->bind_param('ssss', $_POST['username'], $password, $_POST['email'], $uniqid);
$stmt->execute();
$from = 'noreply@yourdomain.com';
$subject = 'Richiesta di Attivazione Account';
$headers = 'From: ' . $from . "\r\n" . 'Reply-To: ' . $from . "\r\n" . 'X-Mailer: PHP/' . phpversion() . "\r\n" . 'MIME-Version: 1.0' . "\r\n" . 'Content-Type: text/html; charset=UTF-8' . "\r\n";
// Update the activation variable below
$activate_link = 'http://yourdomain.com/phplogin/activate.php?email=' . $_POST['email'] . '&code=' . $uniqid;
$message = '<p>Clicca sul seguente link per attivare il tuo account: <a href="' . $activate_link . '">' . $activate_link . '</a></p>';
mail($_POST['email'], $subject, $message, $headers);
echo '<p style="text-align: center;"><span style="font-size: 14pt; font-family: arial, helvetica, sans-serif; color: #ecf0f1;">Controlla la tua email per attivare il tuo account!</span></p>';
credo che le righe su cui lavorare siano queste:
Codice PHP:
$activate_link = 'http://yourdomain.com/phplogin/activate.php?email=' . $_POST['email'] . '&code=' . $uniqid;
$message = '<p>Clicca sul seguente link per attivare il tuo account: <a href="qui non so se devo lasciare vuoto oppure non so che pagina devo metterci' . $activate_link . '">' . $activate_link . '</a></p>';
Quindi come devo scrivere le due righe qui sopra per fare in modo che lo script mi faccia confermare l'iscrizione?
Grazie