Scusa elysaweb,
Sono in crisi, utilizzando del codice che ho trovatpo nel forum ho impostato cosi la pagina che inserisce i dati nel db e che invia il link alla mailbox dell'utente.
Adesso ho il problema della pagina che riceve i dati dal link dell'email non riesco ad aggiornare il campo nel db che ho chiamato mk_reg su 1.
Anche senza utilizzare la variabile confirm=yes se l'utente invia il link con l'id e il relativo codice alfanumerico per quanto riguarda la sicurezza dovrebbe essere ok, giusto ?
Cmq mi funziona tutto, il link arriva dalla e-mail fino alla pagina confirm.php sia con l'id sia con il codice alfanumerico, ma a questo punto potrei semplicemente Upgradare il campo mk_reg direttamente con valore 1 senza nessun IF ho sbaglio qualcosa ?
Qualcuno mi aiuti !!
Codice PHP:
<?php
require('dbconn.inc.php');
$emailutente = $_POST["email"];
$name = $_POST["nome"];
// Genero un codice
$codice = md5(time()); //uso questo metodo giusto per avere un codice sempre diverso e piuttosto difficile da indovinare
// Ora devo scrivere da qualche parte i dati per poterli controllare al momento dell'attivazione, supponiamo di farlo in un dabatase
$sql = "INSERT INTO mkins (mk_nome, mk_email, mk_code) VALUES ('$name', '$emailutente', '$codice')";
$users = mysql_query($sql) or die(mysql_error());
$id = mysql_insert_id(); // recuperiamo l'id (contenuto nel campo user_id) dell'utente appena inserito
/*Arrivati a questo punto spedisco l’email all'utente (all'indirizzo da lui fornito)
con il link alla pagina confirm.php */
$subject = "Completa e pubblica il tuo annuncio";
//Definiamo la classe che definisce il corpo del messaggio ($message) e le intestazione del messaggio ($headers)
$boundary = "==MP_Bound_xyccr948x==";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: multipart/alternative; boundary=\"$boundary\"\r\n";
$headers .= "From: [email]info@nomesito.it[/email]\r\n"; //inseriamo l'indirizzo email del mittente, cioè il nostro
$html_msg = "<center>";
$html_msg .= "<table width=\"500\" border=0 cellpadding=\"4\">";
$html_msg .= "<tr><td align=\"center\">";
$html_msg .= "</td></tr>";
$html_msg .= "</td></tr><tr><td align=\"center\">";
$html_msg .= "</td></tr></table></center>";
$confirmmessage = "Salve " . $name . ",\n\n";
$confirmmessage .= "Per confermare l'inserimento del tuo annuncio e quindi confermare la pubblicazione devi cliccare sul link sottostante:\n\n";
$confirmmessage .= $html_msg . "\n\n";
// Attenzione! Qui sotto dobbiamo inserire il percorso esatto che porta alla nostra pagina confirm.php
$confirmmessage .= "<a href=\"http://www.nomesito.it/test3/confirm.php?id=$id&mk_code=$codice\">Clicca qui per attivare l'annuncio »</a>";
$message = "This is a Multipart Message in MIME format\n";
$message .= "--$boundary\n";
$message .= "Content-type: text/html; charset=iso-8859-1\n";
$message .= "Content-Transfer-Encoding: 7bit\n\n";
$message .= $confirmmessage . "\n";
$message .= "--$boundary--";
$mailsent = mail($emailutente, $subject, $message, $headers);
if ($mailsent)
{
echo "Salve " . $name . ",
";
echo "Un messaggio è stato inviato all'indirizzo [b]" . $emailutente . "[/b] da te fornito.
";
echo "IMPORTANTE:
";
echo "Per completare la pubblicazione e quindi attivare l'annuncio inserito devi aprire la tua casella e-mail, leggere il messaggio di conferma e cliccare sul link che troverai all'interno.
";
} else {
echo "Errore durante l'invio dell'e-mail.";
}
?>