Ciao ragazzi, nuovo topic... stessi problemi.
Allora, ho un metodo che dovrebbe inserire nel database MySql un dato... un semplice dato. ( insert_log )
Codice PHP:
class User {
/* Proprietą della classe */
// Proprietą che contiene la connessione al database
protected $db;
/* Metodi della classe */
// Metodo costruttore che richiama la variabile globale della connessione
public function __construct() {
$this->db = $GLOBALS["db"];
}
/* Metodo per effettuare il Login */
public function login($email, $password) {
if (empty($email) or empty($password)){
die("Errore");
return $msg;
}
$found = FALSE;
// Inizializzo la query
$stmt = $this->db->stmt_init();
// Preparo la query
$stmt->prepare("SELECT email, password FROM table_users WHERE email = ? AND password = ?");
// Inserisco i parametri da inviare al database
$stmt->bind_param("ss", $email, $password);
// Eseguo la query
$stmt->execute();
// Conservo i risultati
$stmt->store_result();
// Controllo quante righe mi ha restituito la query
if($stmt->num_rows) {
$found = TRUE;
}
// Chiudo la query
$stmt->close();
$this->insert_log($email);
return $found;
}
/* Metodo per la registrazione dell'accesso */
public function insert_log($email) {
// Inizializzo la query
$stmt = $this->db->stmt_init();
// Preparo la query
$stmt->prepare("INSERT INTO table_login (email_login) VALUES (".$email.")");
// Inserisco i parametri da inviare al database
$stmt->bind_param("s", $email);
// Eseguo la query
$stmt->execute();
}
}
Semplicemente... non vą. Come potete vedere il metodo viene richiamato a sua volta nel metodo del login. Questo č il codice di richiamo:
Codice PHP:
include_once("config.inc.php");
$db = new Database; // Avvio la connessione al Database
$user = new User;
$email = $_POST["username"];
$password = $_POST["password"];
$userdata = $user->login($email, $password);
if ($userdata) {
echo "Accesso effettuato con successo";
} else {
echo "Nessun utente trovato!";
}
Come potete capire, le classi si trovano in una pagina, e il richiamo in un altra.
Ah e per quanto riguarda la classe Database, questa č funzionante ecco perchč non l'ho messa, si trova comunque nella stessa pagina dove si trova la classe user!