il codice è distribuito su diversi file.. va be' lo posto ugualmente..
cmq prima che 'morisse' il vecchio server, l'applicazione funzionava bene.. lì c'erano versioni leggermente più vecchie di Apache/PHP.
Codice PHP:
index.php
<?
session_start();
include "./func.inc";
require "./config.inc.php";
if ( !isset($_SESSION['LOGIN']) or !isset($_SESSION['TIPOUTENTE']) or
$_SESSION['LOGIN']=="" or $_SESSION['TIPOUTENTE']=="" ){
$strMsg="Autentificarsi per accedere al sistema. ";
redirect_rel("./login.php?strMsg=$strMsg");
exit;
}else{
?>
<html>
<head>
<title>
...
Codice PHP:
login.php
<?
session_start();
?>
<html>
<head>
<title>
DSS
</title>
<link type="text/css" rel="stylesheet" href="./stile.css">
<script type="text/javascript" src="./jsAutentificazione.js"></script>
</head>
<BODY bgcolor="#E2E2E2" leftmargin="0" topmargin="0">
<? include("header2.php"); ?>
<form name="loginForm" method="POST" action="#" onsubmit="return EffettuaLogin();">
<?
$strMsg= $_GET['strMsg'];
if($strMsg==""){
?>
<?
}else{
?>
<div align="center"><font class="messaggi"><?=stripslashes($strMsg)?></FONT></div>
<? }
?>
<TABLE border="0" bgcolor="White" cellpadding="0" cellspacing="0" align="center" width="350">
<tr>
<td class="Fascia_Testo">[b]Effettuare l'accesso[/b]</td>
</tr>
<tr bgcolor="#9999FF">
<td align="center">
<TABLE border="0" cellpadding="1" cellspacing="0">
<tr>
<td colspan="2" class="Fascia_Testo" height="6"></td>
</tr>
<tr>
<td width="40" bgcolor="#E2E2E2"><FONT size="2">Login</FONT></td>
<td bgcolor="#E2E2E2"><INPUT type="text" name="login" size="20"></td>
</tr>
<tr>
<td bgcolor="#E2E2E2"><FONT size="2">Password</FONT></td>
<td bgcolor="#E2E2E2"><INPUT type="password" name="password" size="20"></td>
</tr>
<tr>
<td colspan="2" class="Fascia_Testo" height="6"></td>
</tr>
</TABLE>
</td>
</tr>
<tr>
<td align="right" class="Fascia_Testo"><INPUT type="submit" value="Accedi"><input type="reset" value="Annulla"></td>
</tr>
</TABLE>
</form>
<?
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
echo session_id();
?>
</BODY>
Codice PHP:
jsAutentificazione.js
function EffettuaLogin(){
if(document.forms[0].elements[0].value!="")
if(document.forms[0].elements[1].value!=""){
document.forms[0].action="./autentifica.php";
return true;
}
else
alert("il campo " + document.forms[0].elements[1].name + " deve essere valorizzato");
else
alert("il campo " + document.forms[0].elements[0].name + " deve essere valorizzato");
return false;
}
Codice PHP:
autentifica.php
<?include ("session.inc")?>
<?include ("func.inc")?>
<?
$login=$_POST['login'];
$password=$_POST['password'];
$strMsg="";
if($login!="" and $password!=""){
if(autentificazione($login,$password,$strMsg)){
//phpinfo();
//echo "<pre>";
//print_r($_SESSION);
redirect_rel("index.php");
exit;
}
}
else{
$strMsg="Inserire login e password";
}
redirect_rel("login.php?strMsg=$strMsg");
exit;
?>
Codice PHP:
session.inc
<?php
//funzioni per gestire la sessione di un utente
//crea la session
require("config.inc.php");
include("oracle.php");
function crea_sessione($log,$tipoUt){
if($log!="" && $tipoUt!=""){
//session_unset();
//session_register('LOGIN');
$_SESSION['LOGIN']=$log;
//session_register('TIPOUTENTE');
$_SESSION['TIPOUTENTE']=$tipoUt;
//session_write_close();
return true;
}
return false;
}
//msg di benvenuto
function verificaIdentita($log,$tipoUt){
$tempStr="<font color='#006699' size='4' face='Arial, Helvetica, sans-serif'>[b]Benvenuto utente[/b] $log - $tipoUt </font>";
return $tempStr;
}
//funzione chiamta ogni volta che un utente effettua un logout
function distruggi_sessione(){
$tempMsg="Logout avvenuto con successo. Arrivederci ". $_SESSION['LOGIN'];
$_SESSION = array();
session_unset();
session_destroy();
return $tempMsg;
}
//Funzione chiamata all'ingresso in ogni pg se restituisce true significa che l'utente è loggato
function autentificazione($log,$pass,&$strMsg){
if ( !isset($_SESSION['LOGIN']) or !isset($_SESSION['TIPOUTENTE']) or
$_SESSION['LOGIN']=="" or $_SESSION['TIPOUTENTE']=="" ){
if($log!="" and $pass!=""){
$c1 = OCILogon($GLOBALS["logDb"],$GLOBALS["passDb"],$GLOBALS["db"]);
$query = "select login, tipoUtente from gcuf_utenti UT where UT.login='$log' and UT.passwordUt='$pass'";
$stmt = OCIParse($c1,$query);
OCIExecute($stmt,OCI_DEFAULT);
if(OCIFetch($stmt)){
if($log==OCIResult($stmt,"LOGIN")){
$tipoUt=OCIResult($stmt,"TIPOUTENTE");
if(crea_sessione($log,$tipoUt)){
$strMsg=verificaIdentita($log,$tipoUt);
OCILogOff($c1);
return true;
}
else
$strMsg="Sessione non creata";
}
}
else
$strMsg="Utente inesistente o non abilitato";
OCILogOff($c1);
}
else
$strMsg="Inserire Login e Password!";
}else
return true;
return false;
}
?>
PS
ci vai ad Osoppo?