consigli per piccola area riservata

enricocarli

Utente Attivo
26 Set 2014
46
0
6
Buongiorno a tutti,

ho qualche problema per fare un'area riservata, sono un principiante, sto imparando;

ho scritto così lo script:

file con form per credenziali:

PHP:
<?php include ("../config.php"); ?> 
<html>
<head>
	<title><?php
	    	$sql = "SELECT * FROM generali;";
	    	$ret = mysqli_query( $db, $sql );
	    	$row = mysqli_fetch_assoc($ret);
			print $row['nome'];	    	
		?></title>
	<meta name="description" content="<?php print $row['description'];?> ">
	<meta name="keywords" content="<?php print $row['keywords'];?>">
    <!-- icon fonts -->
	<link rel="stylesheet" href="<?php echo $base_url ?>admin/css/font-awesome.min.css" />
    <!-- / icon fonts -->
    <!-- google font -->
    <link href='http://fonts.googleapis.com/css?family=Ubuntu:400,300,300italic,400italic,500,500italic,700,700italic' rel='stylesheet' type='text/css'>
    <!-- / google font -->
	<link rel="stylesheet" href="<?php echo $base_url ?>admin/css/main.css">
</head>
<body>

<?php
	if(isset($_GET['accesso']))
	if($_GET['accesso']=="negato")
	print "<p id='accesso_negato_login'><i class='fa fa-ban'></i> Accesso negato, reinserire le credenziali</p>";
?>

<div id="login">
	<div>
	<i class="fa fa-lock"></i>
	<h1>Area Riservata</h1>
</div>
<form action="verifica.php">
	<p><i class="fa fa-user"></i> Username</p>
	<input type="text" name="username" placeholder="Inserici lo Username">
	<p><i class="fa fa-key"></i> Password</p>
	<input type="password" name="password" placeholder="Inserisci la Password">
    <input type="submit" value="Accedi" id="conferma">
</form>

</div>

</body>
</html>

file di verifica:

PHP:
<?php include("../config.php"); ?>

<?php
	$sql = "SELECT * FROM generali";
	$ret = mysqli_query( $db, $sql );    	
	while ($row = mysqli_fetch_assoc($ret)){

	$username_ok = $row['username'];
	$password_ok = $row['password'];
	}
?>

<?php
	$username = $_GET['username'];
	$password = sha1($_GET['password']);
	if( $username==$username_ok AND $password==$password_ok  )
	{
		session_start();
		$_SESSION['username'] = $username;
		$_SESSION['password'] = $password;
		header('location:../home/home.php');
	}
	else{header('location:index.php?accesso=negato');}
?>

so che devo farlo con le sessioni e fino a li funziona, però ho diverse pagine nella cartella che vorrei proteggere, e se digito l'url di queste le raggiungo, dovrei fare in modo che riconosca la sessione e se non mi loggo non me le faccia vedere.

spero di essermi spiegato bene
ringrazio in anticipo chi mi aiuterà

buona serata
 
Se ti può essere utile come spunto, io ho risolto una cosa simile, salvando i dati di login in un cookie, poi ho creato una funzione che verifica il cookie e la richiamo ad ogni pagina. Non so se si possa fare diversamente perchè non sono un esperto.
 
ciao
è meglio passare i valori in sessione
nella pagina di log
PHP:
<?php
session_start();
//tutto l'ambaradan di login
if($log == "OK"){//schematizzo
	$_SESSION['utente']= $password; //o es username
	//e mandi alla pagina riservata
}else{
	echo "loga non riuscito";
	//e rimandi dove vuoi
}
?>
nella pagina riservata
PHP:
<?php
session_start();
if(!isset($_SESSION['utente'])){
	// la sessione NON esiste e rimandi dove vuoi co header location
}else{
	//mostri quello che serve
}
?>
 
Grazie mille monital e Borgo Italia per le risposte,

provo in questi giorni a seguire i vostri consigli,

se ho problemi mi faccio vivo :book:

grazie mille ancora e buona serata
 

Discussioni simili