Mi sono perso con le sessioni: session_start();
mi spiego meglio, ho fatto un pannellino di login che porta ad un altro pannello che mi permette di variari dei dati di configurazione:
Posto i files.
Il pannellino di login:
login.php
Codice PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>modulo di login</title>
<link href="../layout.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="box_login">
<form name="modulo" action="accedi.php" method="post">
Accesso al pannello di configurazione:
<label><p class="corpo_centr">Username:
<input type="user" name="codice_user" size="30" />
</p>
</label>
<label><p class="corpo_centr">Password:
<input type="password" name="codice_password" size="30" />
</p>
</label>
<input name="submit" type="submit" value="invia"/>
</form>
</div>
</body>
</html>
il file che elabora i dati di login:
accedi.php
Codice PHP:
<?php
session_start();
//includo il file che mi serve
include ("../config.inc.php");
//mi connetto al database,user e password
$db = mysql_connect($db_host, $db_user, $db_password);
//in caso di errore
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
//mi connetto alla tabella
mysql_select_db($db_name, $db)
//in caso di errore
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
//preparo la query
$query = "SELECT id, nome, pswd FROM utenti ORDER BY id DESC LIMIT 0,1";
//invio la query al database
$result = mysql_query($query, $db);
//recupero i dati che arrivano dal database
$row = mysql_fetch_array($result);
$row['nome'];
$row['pswd'];
// Recupero i dati dal form
$codice_user = $_POST['codice_user'];
$codice_password = MD5($_POST['codice_password']);
//confronto i dati inseriti con user e password
if (($codice_user==$row['nome']) and ($codice_password==$row['pswd']))
{
header("Location: insert.php");
exit;
}
else
{
header("Location: pag_errore.html");
}
?>
Il pannello che elabora i dati di configurazione:
insert.php
Codice PHP:
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>INSERIMENTO</title>
<link href="../layout.css" rel="stylesheet" type="text/css" />
</head>
<body>
<?
include ("../config.inc.php");
include ("../config.php");?>
<link href="layout.css" rel="stylesheet" type="text/css" />
<div id="centrale_sup" class="titolopannevar">PANNELLO DI CONTROLLO</div>
<div id="centrale_inf">
<form name="modulo" action="save.php" method="post">
<label><p class="corpo_centr">Titolo Guest Book:
<input type="titolo" name="titolo_guest" value="<? echo $titolo_guest?>" size="30" />
</p>
</label>
<label><p class="corpo_centr">Colore font titolo:
<input type="colore" name="color_titolo" value="<? echo $colorT?>" size="30" /><label>valore esadecimale</label>
</p>
</label>
<label><p class="corpo_centr">Grandezza Titolo:
<input type="grande" name="grand_titolo" value="<? echo $dimensfont?>" size="30" /><label>valore in pixel</label>
</p>
</label>
Password:
<input type="password" size="40" name="pass" />
<input name="submit" type="submit" value="Salva"/>
</form>
</div>
</body>
</html>
Bene, ho letto un sacco di guide sulle sessioni, ma poco chiare. :master:
L'unica cosa che mi è abbastanza chiara (almeno credo
) è che devo mettere sulle pagine da proteggere la riga: session_start(); , sempre in testa al file.
Quindi ho inserito la riga in testa al file accedi.php e insert.php (spero in modo corretto).
A questo punto cosa devo aggiungere e DOVE per proteggere le pagine?
Grazie