<!DOCTYPE html>
<?php
/* Doveva funzionare anche qui, ma non funziona perché viene eseguita subito e non quando serve.
header('Location: http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/accesso_direzionale.php');
exit(); */
?>
<html lang="it">
<head>
<meta charset="utf-8">
<meta name="generator" content="CoffeeCup HTML Editor (www.coffeecup.com)">
<meta name="created" content="mar, 03 lug 2012 15.02.57 GMT">
<meta name="description" content="Verifica se chi ha chiesto l'accesso direzionale è abilitato (dati provenienti da pagina Joomla).">
<meta name="keywords" content="">
<link rel="stylesheet" href="/templates/ff_sipbc_j11/css/sipbcall.css" type="text/css" media="all" />
<title>Verifica accesso direzionale</title>
<!--[if IE]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<script type="text/javascript" src="../templates/ff_sipbc_j11/js/5shiv.js"></script>
<![endif]-->
</head>
<body>
<?php
error_reporting(E_ALL); // Eliminare alla fine del debug
require_once('costanti.inc'); // contiene la funzione che stampa la testata di pagina quando necessaria
require_once('dbconnect.inc'); // contiene i valori per la connessione al database
/* Sanitarizzazione e lettura dell'input */
foreach ($_POST as &$replaced)
{
$replaced = str_replace("'", "", $replaced);
}
foreach ($_POST as $escaped)
{
$escaped = htmlentities($escaped, ENT_QUOTES, "UTF-8");
}
$codice = $_POST["codice"];
$password = $_POST["pw"];
/* Fine sanitarizzazione e lettura dell'input */
/* Connessione al database */
$conn = @new mysqli($db_server, $db_user_name, $db_password, $db_name);
if (mysqli_connect_errno() != 0)
{
$errno = mysqli_connect_errno();
$errmsg = mysqli_connect_error();
echo '<article id="modiscriz1">', TESTATA;
echo 'Errore connessione: ', ($errno),' ',$message, '<input type="button" value="Torna indietro" onClick="javascript:history.go(-1)" />';
echo '</article>';
exit();
}
/* Fine connessione al database */
/* Ricerca sul database del codice immesso nel form.
Non necessaria la verifica di codice o password vuoti perché dichiarati REQUIRED nel form di origine. */
$conn->query("SET NAMES 'utf8'");
$query_str = "SELECT * FROM accesso WHERE codice='$codice'";
$result = $conn->query($query_str);
if ($result === FALSE)
{
$errno = $conn->errno;
$errmsg = $conn->error;
echo '<article id="modiscriz1">', TESTATA;
echo 'Errore dati: ($errno) $errmsg<br/>','<input type="button" value="Torna indietro" onClick="javascript:history.go(-1)" />';
$conn->close();
echo '</article>';
exit();
}
/* Fine ricerca sul database del codice immesso nel form. */
/* Codifica e verifica della password. */
$row_data = @$result->fetch_array();
$sha2=hash('sha256', $password);
if ($sha2 != $row_data['password'])
{
echo '<article id="modiscriz1">', TESTATA;
echo '<span style="color:red; font-weight:bold;">Codice e/o password non validi</span><br />';
echo '<input type="button" value="Torna indietro" onClick="javascript:history.go(-1)" />';
$result->close();
$conn->close();
echo '</article>';
exit();
}
/* Fine codifica e verifica della password. */
/* A questo punto sono disponibili tutti i dati per creare lo USER. */
require_once('userinfo.inc'); // contiene la classe UserInfo per i soli utenti di questa procedura di accesso
$tipo = $row_data['tipo'];
$sezione = $row_data['sezione'];
$delegazione = $row_data['delegazione'];
$user = new UserInfo($codice, $password, $tipo, $sezione, $delegazione);
/* La sessione viene iniziata solo ora, per evitare apertura di sessioni inutili. */
ini_set('session.save_path', '../iscrizione/tmp/');
session_name('ACCESSODIREZIONALE');
session_start();
$_SESSION['current_user'] = $user;
/* Eliminazione dei dati non più necessari */
if (isset($result)): $result->close(); endif;
if (isset($conn)): $conn->close(); endif;
/* Soluzione con HEADER */
/* IN REMOTO ARRIVA FIN QUI E POI SI BLOCCA
header('Location: http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/accesso_direzionale.php');
exit(); */
/* Soluzione alternativa a HEADER */
/* IN REMOTO QUESTA SOLUZIONE VA ALLA PAGINA RICHIESTA MA NON TRASMETTE LA SESSIONE */
echo "<script>javascript:window.location.href='accesso_direzionale.php'</script>";
/* Tutte le righe fino alla chiusura del tag PHP possono essere cancellate se funziona HEADER.
echo '<article id="modiscriz1">', TESTATA;
echo '<br /><h3>Credenziali corrette per ';
switch ($tipo)
{
case "1": echo "l'Amministratore del Sistema e la Segreteria Nazionale</h3>"; break;
case "2": echo 'il Presidente ed il Segretario Generale</h3>'; break;
case "3": echo 'la ', $sezione, '</h3>'; break;
case "4": echo 'la ', $delegazione, '</h3>'; break;
}
echo '<form method="post" name="avvio" action="accesso_direzionale.php">',
'<button type="submit" />Accedi</button>',
'</form>'; */
?>
</body>
</html>