Salve,
vi spiego brevemente, per quanto possibile, il mio problema.
Sto costruendo un'applicazione web e mi trovo a combattere con la funzione mail php per l'invio del link di conferma account dopo la registrazione.
La mail parte e funziona, anche il link di conferma apre la pagina giusta, ma il campo STATO dell'Utente non viene impostato a 1.
Impostare lo stato a 1 significa che l'utente registrato ha abilitato il suo account! vi mostro in ordine i file impegnati in tutto ciò.
questo è il link presente nella mail: http://localhost/fedeb/GestioneGET.p...lita&username=$user ( magari è proprio qui l'errore,magari non passo bene le variabili);
GestioneGET.php
<?php
require_once('Singleton.class.php');
if(isset($_GET['menu']))
$menu=$_GET['menu'] or die('Menu non presente');
..
....
...
if($menu=='abilita')
{
require_once('Control\CVerificaRegistrazione.class .php');
$verifica=Singleton::getInstance("CVerificaRegistr azione");
$verifica->visualizza();
}
?>
CVerificaRegistrazione.class.php
<?php
require_once('Control\CCompartment.class.php');
require_once('Control\MySmarty.class.php');
class CVerificaRegistrazione extends CCompartment
{
function __construct()
{
require_once("Foundation/FUtente.class.php");
$utente=Singleton::getInstance("FUtente");
$utente->abilitaUtente($user);
$this->setTemplate('verificaRegistrazione');
}
public function visualizza()
{
require_once('Singleton.class.php');
$smarty=Singleton::getInstance("MySmarty");
$smarty->display('verificaRegistrazione.tpl');
}
}
?>
CUtente.class.php
public function abilitaUtente($user)
{
$mysqli=new FControl();
$sql= " SELECT *
FROM utente
WHERE username='{$user}';";
if($result=$mysqli->query($sql)){
if(($result->num_rows)==0){
$mysqli->close();
return false;
}
else{
$result=$result->fetch_assoc();
$result['STATO']=1;
$mysqli->close();
}
}
else{
print("Errore cambia stato!".$mysqli->error);
$mysqli->close();
exit();
}
}
Cosa sbaglio????![]()