Ok..... in verità ho risolto il primo problema inserendo config.php nel mio model, sinceramente però vorrei capire perchè se caricandolo nel mio index non posso accederci dal model..... posto il codice và...
index.php:
Codice PHP:
require_once 'config.php';
require_once 'header.php';
require_once 'footer.php';
header.php:
link al login
Codice PHP:
<?php if (isset ($_GET['view'])) { require '/view/vista_'.$_GET['view'].'.php'; } else {require '/view/vista_home.php';}
richiesta della vista
vista_login.php:
codice:
<div id="content" >
<div id="form_login">
<form method="POST" action="controller/controller_login.php">
Username: <input name="username" type="text" />
Password: <input name="password" type="text" /> <input name="invia" type="submit" value="Login" > </form> </div>
<?php require '/controller/controller_login.php'; ?> </div>
controller_login.php:
Codice PHP:
<?php
// controllo sul parametro d'invio
if(isset($_POST['invia']) && (trim($_POST['invia']) == "Login"))
{
// controllo sui parametri di autenticazione inviati
if( !isset($_POST['username']) || $_POST['username']=="" )
{
echo "Attenzione, inserire la username.";
}
elseif( !isset($_POST['password']) || $_POST['password'] =="")
{
echo "Attenzione, inserire la password.";
}else{
// validazione dei parametri tramite filtro per le stringhe
// trim elimina gli spazi, FILTER_SANITIZE_STRING elimina eventuali tag HTML dalla stringa
$username = trim(filter_var($_POST['username'], FILTER_SANITIZE_STRING));
$password = trim(filter_var($_POST['password'], FILTER_SANITIZE_STRING));
/*$salt = sha1($password);
$password = md5($salt.$password);
commentato momentaneamente per eseguire test*/
require '../model/model_login.php';
$login = getLoginData($username, $password);
print_r ($login);
// controllo sul risultato dell'interrogazione -> non ho corrispondenze nel db
if ($login == '0'|| !isset($login))
{
// reindirizzamento alla homepage in caso di insuccesso
header("Location: ../index.php?view=login");
}else{
// creazione del valore di sessione
session_start();
$_SESSION['login'] = $login['ID'];
$_SESSION['username'] = $login['utente'];
$_SESSION['tipo_utente'] = $login['tipo'];
echo ' stampa di SESSION ';
print_r($_SESSION);
// reindirizzamento a index in caso di successo
header("Location: ../index.php");
}
}
}
?>
e infine model_login.php:
Codice PHP:
<?php require '../config.php';
function getLoginData($username, $password) {
$cn = mysql_connect(HOST, NOME_UTENTE_DB, PASSWORD_UTENTE_DB) or die('Errore di connessione all host: controllare la correttezza dei parametri');
mysql_select_db(NOME_DB, $cn) or die('Errore di connessione al database: controllare che il nome del database sia corretto');
$query = "select * from utenti where utente = '$username' and password = '$password'"; $risultato = mysql_query($query, $cn);
$utente = array();
if (mysql_num_rows($risultato)==0) { $utente = '0'; } else { $utente = mysql_fetch_assoc($risultato); }
mysql_close(); return $utente; } ?>
ecco tutto il codice relativo alla parte non funzionante... grazie mille spero sia abbastanza comprensibile.....