grazie per la pazienza
in primis non posso pubblicare link o altro (gt vuole iscrizione e io sn disoccupato e nn posso spendere)
proviamo cosi e vediamo se mi dai una dritta per rimediare
config.php
<?php# definizione delle costanti per l'autenticazione al DBMS
define('DATA_HOST', 'localhost');
define('DATA_UTENTE', 'mio nome utente');
define('DATA_PASS', 'mia pw');
define('DATA_DB', 'nome db');
classe per l'interazione con il database
class DATA_Class {
definizione del costruttore
function __construct() {
# connessione al DBMS
$connessione = @mysql_connect(DATA_HOST, DATA_UTENTE, DATA_PASS) or die('Errore nella connessione: ' . mysql_error());
# selezione del database
@mysql_select_db(DATA_DB, $connessione) or die('Errore dal database: ' . mysql_error());
}
}
// mail dell'amministratore
$admin_email = "[email protected]";
?>
functions.php
<?php# inclusione del file di configurazione
@include_once 'config.php';
definizione della classe che conterrà i metodi per la gestione degli iscritti
class Iscrizioni {
definizione del costruttore
public function __construct()
{
# istanza della classe per la connessione al database
$data = new DATA_Class();
}
metodo per la registrazione
public function registra($nome_reale, $nome_utente, $password, $email)
{
# tolgo eventuali spazi vuoti
$nome_reale = trim($nome_reale);
$nome_utente = trim($nome_utente);
$password = trim($password);
# verifico che il modulo sia stato compilato
if (strlen($nome_reale) == 0 || strlen($nome_utente) == 0 || strlen($password) == 0) return false;
else {
# cifratura della password
$password = @sha1($password);
# confronto degli input con i dati contenuti in tabella
$query = @mysql_query("SELECT id_utente FROM iscritti WHERE nome_utente = '$nome_utente' OR email = '$email'") or die('Errore: ' . mysql_error());
# controllo sulla presenza di corrispondenze prodotte dal confronto
$conta = @mysql_num_rows($query);
# se il confronto non genera corrispondenze..
if ($conta == 0)
{
# ..si procede con la registrazione..
$risultato = @mysql_query("INSERT INTO iscritti(nome_utente, password, nome_reale, email) VALUES ('$nome_utente', '$password','$nome_reale','$email')") or die('Errore: ' .mysql_error());
return $risultato;
}else{
# ..altrimenti l'esito della registrazione sarà negativo
return false;
}
}
}
metodo per l'autenticazione
public function verifica_login($email_o_nome_utente, $password)
{
# cifratura della password
$password = @sha1($password);
# confronto degli input con i dati contenuti in tabella
$query = @mysql_query("SELECT id_utente FROM iscritti WHERE (email = '$email_o_nome_utente' OR nome_utente='$email_o_nome_utente') AND password = '$password'") or die('Errore: ' . mysql_error());
# controllo sulla presenza di una corrispondenza prodotta dal confronto
$conta = @mysql_num_rows($query);
# se il confronto genera una corrispondenza..
if ($conta == 1)
{
# ..viene generata la sessione di login..
$risultato = @mysql_fetch_object($query);
$_SESSION['login'] = true;
$_SESSION['id_utente'] = $risultato->id_utente;
return true;
}else{
# ..altrimenti l'esito dell'autenticazione sarà negativo
return false;
}
}
metodo per la visualizzazione del nome dell'utente loggato
public function mostra_utente($id_utente)
{
# estrazione del nome reale sulla base dell'identificatore memorizzato in sessione
$query = @mysql_query("SELECT nome_reale FROM iscritti WHERE id_utente = $id_utente") or die('Errore: ' . mysql_error());
$risultato = @mysql_fetch_object($query);
# stampa a video del nome reale dell'utente
echo $risultato->nome_reale;
}
metodo per il controllo sulla sessione
public function verifica_sessione()
{
# il metodo restituisce l'informazione relativa alla sessione a patto che questa sia stata inizializzata
if(isset($_SESSION['login']))
{
return $_SESSION['login'];
}else{
return false;
}
}
metodo per il logout
la sessione viene distrutta a seguito di uno specifico input dell'utente
public function esci() {
$_SESSION['login'] = FALSE;
@session_destroy();
}
}
?>
il database del sito/server si identifica come localhost
ciao