Allora, puoi partire da una base del genere:
File: setup.php
Codice PHP:
<?php
error_reporting(E_ALL);
session_start();
set_time_limit(300);
ob_start();
$inclusion = true;
// S w i t c h M u l t i s e r v e r
switch($_SERVER["SERVER_NAME"]){
case 'localhost':
define( 'HOST' , 'localhost' );
define( 'DB' , '' );
define( 'USER' , '' );
define( 'PASSWORD' , '' );
define( 'DIR_ROOT' , $_SERVER['DOCUMENT_ROOT'].'/' );
define( 'DIR_PHISICAL_ADDR' , DIR_ROOT.);
define( 'SITEURL' , 'http://'.$_SERVER['HTTP_HOST'].'/' );
break;
}
// D i r e c t o r i e s
define( 'DIR_INCLUDES' , 'includes/' );
define( 'DIR_CLASSES' , 'classes/' );
// F u l l P a t h s
define( 'FULLPATH_CLASSES' , DIR_PHISICAL_ADDR.DIR_INCLUDES.DIR_CLASSES );
// C o s t a n t i d i S e s s i o n e
define( 'SESSIONE', 'miaSessione');
?>
File: application_top.php
Codice PHP:
// I n c l u s i o n e C l a s s i
include('./includes/classes/ConnectionDB.class.php');
// R e g i s t r a l a s e s s i o n e
if(!session_is_registered(SESSIONE)){
session_register(SESSIONE);
}
// I s t a n z e o g g e t t i d i u s o g l o b a l e
$Rconn = new DBConnection();
$Rconn->VerificaConn($ConnVersoDB);
?>
File: index.php
Codice PHP:
<?php
require_once('./includes/setup.php');
require_once('./includes/application_top.php');
if(isset($_POST)){
switch(strtoupper($_POST['mode'])){
case 'AUTENTICAZIONE':
// codice che effettua il login es.
$dati_utente = // ricavi un array con i dati dell'utente, crea un metodo che faccia ciò
// se dati utente è un array valido in quanto l'utente è stato trovato ( ti fai i tuoi controlli )
// inserisci l'id nella sessione :
$_SESSION[SESSIONE]['id'] = $dati_utente['id'];
// La funzione che redireziona l'output ci va perchè come saprai la sessione sarà letta
// solo dopo essere stata creata
header('Location: '.SITEURL); // SITEURL è una costante che ho creato su setup
exit(); // giusto per essere sicuri che questo caso termini qui
break;
}
}
if(session_is_registered(SESSIONE) &&
isset($_SESSION[SESSIONE]['id']) &&
(int)$_SESSION[SESSIONE]['id'] > 0)
{
echo 'SEI LOGGATO';
}else{
// Inserisci il form che invierà i dati POST alla medesima pagina (index.php)
}
?>
Consiglio #1:
aggiungi alla tua classe della connessione dei metodi che ti permettano di ricavare in maniera semplice ( ovvero che ritornino ) degli array da una query
Consiglio #2:
gestisci tutto ciò che riguarda gli utenti ( login, logout, creazione utente, modifica ecc.. ) tramite una classe, UserManager.class.php per esempio.
Consiglio #3:
Comprati un buon libro.
Ciao