ho cambiato codice, ho fatto in questo modo :
conferma_reg.php (il file a cui verranno rimandati gli utenti che cliccano nel link di conferma e che si occuper� di accedere al database e cambiare il valore dell utente nella colonna attivato da 0 a 1 )
codice:
<?php
session_start();
// controllo sul parametro d'invio
if( isset($_POST['submit']) && (trim($_POST['submit']) == "Conferma") )
{
// controllo sul formato dell'email
if((!isset($_POST['email'])) || (!preg_match("/^([a-z0-9\._-]+)(@[a-z0-9.-]+)(\.{1}[a-z]{2,4})$/i", $_POST['email'])))
{
echo "Attenzione, formato email non valido.";
}
// controllo sul formato della password
elseif((!isset($_POST['password'])) || ($_POST['password'] == "") || (!preg_match("/^[a-z0-9]+$/i", $_POST['password'])))
{
echo "Attenzione, password non corretta.";
}else{
// se i parametri sono in formato corretto interroghiamo il database
$email = $_POST['email'];
$password = $_POST['password'];
// includiamo il file di configurazione
@include "Users.class.php";
// controlliamo se i parametri sono presenti in tabella
$ctrl_login = @mysql_query("SELECT id FROM users WHERE email='$email' AND password='$password'") or die (mysql_error());
if(@mysql_num_rows($ctrl_login)==0)
{
// esito login negativo
echo "Login incorretto.";
}else{
// esito login positivo quindi rendiamo l'utente attivo
$obj = @mysql_fetch_object($ctrl_login) or die (mysql_error());
$query_attivo = @mysql_query("UPDATE users SET attivato='1' WHERE id=".$obj->id) or die (mysql_error());
// creiamo un id di sessione corrispondente all'utente
$_SESSION['id'] = $obj->id;
// redirect alla pagina degli iscritti
@header("Location: iscritti.php");
}
}
}else{
// form per la conferma
?>
<h1>Modulo di conferma:</h1>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Email:<br>
<input name="email" type="text" size="20"><br>
Password:<br>
<input name="password" type="password" size="20"><br>
<input name="submit" type="submit" value="Conferma">
</form>
<?
}
?>
cosa fa questo script..praticamente l utente clicca nel link di registrazione, viene riportato nella pagina conferma_reg.php dove si trova davanti 2 form , uno per l email e uno per la password...per attivare l account deve inserirli e poi fare click sul tasto conferma....fino a qui tutto bene... il problema sorge appunto appena clicco nel tasto conferma... se i dati sono giusti una volta cliccato su conferma lo script dovrebbe entrare sul db e modificare il valore nella colonna attivato da 0 a 1 e nel frattempo rimandare l utente ad un pagina che ti dice che la registrazione � andata a buon fine (io l ho chiamata iscritti.php)
iscritti.php
codice:
<?php
session_start();
// controlliamo se � stata inizializzata la sessione
if(isset($_SESSION['id']))
{
//controllo id con esito positivo
echo "Benvenuto! Processo di attivazione concluso positivamente!";
$link_address = 'http://sitoprova.96.lt/login.php';
echo "<a href='".$link_address."'>Clicca qui per andare nella pagina di accesso!</a>";
}else{
//controllo sessione con esito negativo
@header("Location: conferma_reg.php");
}
?>
il problema � che quando clicco sul tasto conferma, mi salta fuori il famoso access denied
codice:
Access denied for user 'u686410779'@'10.1.2.59' (using password: NO)
lo script quindi non riesce ad accedere al db e moficiare il valore dell utente 
dov� che sbaglio...su conferma_reg.php ho messo un
codice:
@include "Users.class.php";
nel file users.class.php la parte di codice che si occupa della connesione al db dovrebbe essere questa...
codice:
// error_reporting(E_ALL | E_DEPRECATED | E_STRICT);
Class Users{
/********************************
SETTING
*********************************/
// le credenziali di accesso al database
private $host_db = 'XXXXXXXXXX';
private $user_db = 'XXXXXXXXXX';
private $pass_db = 'XXXXXXXXXX';
private $name_db = 'XXXXXXXXXX';
/*risorse di connessione*/
protected $conn;
protected $selezione_db;
// il costruttore attiva la connessione a mysql
public function __construct(){
$this->connessione();
}
/******************
CONNESSIONE A MYSQL
******************/
protected function connessione(){
$this->conn = mysql_connect($this->host_db, $this->user_db, $this->pass_db) or die(mysql_error());
$this->selezione_db = mysql_select_db($this->name_db, $this->conn) or die(mysql_error());
return TRUE;
}
ai tempi ho dovuto inserire la password per accedere al db perch� lasciando il campo vuoto dava problemi con registrazione e login degli utenti.. help