Problema SESSION e LOGIN

anastasi.fr

Nuovo Utente
4 Apr 2013
1
0
0
Ciao a tutti, vi mostro i file che sto usando e poi vi spiego dove sta il problema...

1-FILE configuraammdip.php
PHP:
<?php

function connect(){

mysql_connect("localhost", "root", "");
mysql_select_db("sito");

}


?>

2-FILE headerammdip.php

PHP:
<?php

include 'configuraammdip.php';
connect();
session_start();

?>

3-FILE loginammdip.php

PHP:
<?php

include 'headerammdip.php';

?>
<form name="form1" method="post" action="accedialcontrollo.php">
<table width="95%" align="center" >
<tr>
<td colspan="2"><div align="center"><strong>Accesso privato per i Dipendenti</strong></div></td>
</tr>
<tr>
<td><strong>Username</strong></td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td><strong>Password </strong></td>
<td><input type="text" name="password"></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="Submit" value="Accedi">
</div></td>
</tr>
</table>
</form>

4-FILE accedialcontrollo.php

PHP:
<?php
$user=$_POST["username"];
$pass=$_POST["password"];
if($user=='admin' && $pass=='admin'){
header("Location: paginaamministratore.php");
}
elseif($user=='dipendente' && $pass=='dipendente'){
header("Location: paginadipendente.php");
}
else{echo"non sei un dipendente";
header( "refresh:3;url=index.php" );
}

?>

praticamente c'è un problema, dopo aver letto la teoria non ho capito come usare bene le session.Infatti le pagine paginaamministratore.php e paginadipendente.php sono raggiungibili anche senza fare il login.Il mio scopo sarebbe vietare quelle pagine a chi non fa il login.
Potreste modificare questi file cosi che possa capire??

VI ringrazio in anticipo.....
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
intanto, secondo me, l'istruzione session_start è meglio metterla direttamente nella pagina dove usi le sessioni, ricordati che deve essere la prima istruzione: nemmeno uno spazio prima.
poi dove fai il controllo e reindirizzi crei le sessioni

PHP:
<?php
session_start();
$user=$_POST["username"];
$pass=$_POST["password"];
if($user=='admin' && $pass=='admin'){
	//poi qui valorizzi la sessione dell'amministratore
	$_SESSION['admin']="admin";
	//se l'admin puo entrare anche nella pag del dipendente valorizzi anche la sua sessione
	$_SESSION['dipendente']="dipendente";
	header("Location: paginaamministratore.php");
	exit();//ti conviene aggiungere anche questa
}elseif($user=='dipendente' && $pass=='dipendente'){
	//oppure qui valorizzi la sessione del dipendente
	$_SESSION['dipendente']="dipendente";
	//per sicurezza distruggi eventuale sessione dell'admim
	if(isset($_SESSION['admin'])){unset($_SESSION['admin']);}
	header("Location: paginadipendente.php");
	exit();
}else{
	//echo"non sei un dipendente";//attento questa da errore nell'header (anche header non vuole output html)
	//qui distruggi per sicurezza eventuali sessioni presenti
	if(isset($_SESSION['admin'])){unset($_SESSION['admin']);}
	if(isset($_SESSION['dipendente'])){unset($_SESSION['dipendente']);}
	//header( "refresh:3;url=index.php" );
	header( "location: index.php" );//meglio questa
	exit();
}
?>
poi nelle due pagine
1) paginaamministratore.php
PHP:
<?php
session_start();
if(!isset($_SESSION['admin'])){//verifichi che la sessione esista
	// non esiste
	header( "location: index.php" );
	exit();
}
//e qui fai quello che devi fare
?>
2)paginadipendente.php
PHP:
<?php
session_start();
if(!isset($_SESSION['admin'] && !isset($_SESSION['dipendente'])){//verifichi che le sessioni non esistano
	// non esistono
	header( "location: index.php" );
	exit();
}
//e qui fai quello che devi fare
?>

spero di essere stato chiaro, eventualmente chiedi
 
Discussioni simili
Autore Titolo Forum Risposte Data
G [PHP] Problema - Warning: session_start() [function.session-start] PHP 9
N Problema con le SESSION PHP 6
P problema salvataggio e richiamo SESSION PHP 0
Emix Problema Session PHP 1
G problema con session.gc_maxlifetime PHP 3
T problema con le session PHP 3
M problema con Session PHP 3
M Problema con l'utilizzo delle Session PHP 3
foki problema misterioso session ID PHP 30
G problema con session.cookie_lifetime PHP 1
P problema sessioni php [function.session-start] PHP 2
A problema con Session Classic ASP 4
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
P Problema acquisizione clienti Webdesign e Grafica 0
F NetBeans problema creazione progetto Java Windows e Software 0
M Problema con Try Catch PHP 0
C problema seo + cerco esperto SEO e Posizionamento 7
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
A Problema, non so, di scale() o transform, oppure altro? HTML e CSS 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
I PROBLEMA: Sostituzione sito XAMPP E-Commerce 0
T problema data 30/11/-1 PHP 0
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Y Problema incolonnamento tabella PHP 7
S problema salvataggio immagini Photoshop 0
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
D problema php mysql PHP 1
D problema php mysql PHP 1
M Problema Wi-Fi Linux Linux e Software 1
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
Daniele_Carrara Problema Aperture Mailup Email Marketing 5
F PROBLEMA ACCESSO INSTAGRAM Discussioni Varie 2
R Problema connessione db PHP 7
M problema if PHP 2
G Problema con Get page PHP 4
N Problema passaggio variabili tra pagine PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 1

Discussioni simili