Ciao a tutti, sto tentando, tramite uno script php, di poter leggere il contenuto di una serie di directory dopo essermi autenticato con nome utente e password. Praticamente, ciascun utente accederà alla sua cartella dentro cui c'è una serie di file (che può scaricare sul proprio pc) e cartelle.
Ho realizzato il tutto in un'unica pagina ma... c'è qualche problema quando voglio aprire un file contenuto nella cartella.
Vi ringrazio a quanti possano essermi utili.
PS: ho un problema anche con l'inclusione di un file .js... mi mostra il codice a video.
include("php_file_tree.js");
Vi posto il codice:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Login</title>
</head>
<?php
$DB_host = 'host';
$DB_user = 'user';
$DB_password = 'pwd';
$DB_name = 'x_2';
$link = mysql_connect($DB_host, $DB_user, $DB_password);
if (!$link) {
die ('Non riesco a connettermi: ' . mysql_error());
}
$db_selected = mysql_select_db($DB_name, $link);
if (!$db_selected) {
die ("Errore nella selezione del database: " . mysql_error());
}
if($_POST) {
effettua_login();
} else {
mostra_form();
}
function mostra_form()
{
// mostro un eventuale messaggio
if(isset($_GET['msg'])) {
echo ''.htmlentities($_GET['msg']).'
';
}
?>
<form name="form_login" method="post" action="">
<label>nome: <input name="nome" type="text" value="" /></label>
<label>password: <input name="password" type="password" value="" /></label>
<input name="invia" type="submit" value="Invia" />
</form>
<?
}
function effettua_login()
{
// recupero il nome e la password inseriti dall'utente
$nome = trim($_POST['nome']);
$password = trim($_POST['password']);
// verifico se devo eliminare gli slash inseriti automaticamente da PHP
if(get_magic_quotes_gpc()) {
$nome = stripslashes($nome);
$password = stripslashes($password);
}
// verifico la presenza dei campi obbligatori
if(!$nome || !$password) {
$messaggio = urlencode("Non hai inserito il nome o la password");
header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
exit;
}
// effettuo l'escape dei caratteri speciali per inserirli all'interno della query
$nome = mysql_real_escape_string($nome);
$password = mysql_real_escape_string($password);
// preparo ed invio la query
$query = "SELECT id FROM utenti WHERE nome = '$nome' AND password = '$password'";
$result = mysql_query($query);
// controllo l'esito
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}
$record = mysql_fetch_array($result);
if(!$record) {
$messaggio = urlencode('Nome utente o password errati');
header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
} else {
session_start();
$_SESSION['user_id'] = $record['id'];
$messaggio = urlencode('Login avvenuto con successo');
//header("location: http://www.nomesito.ext/dmdocuments/$nome/demo.php");
// Main function file
include("php_file_tree.php");
include("php_file_tree.js");
// This links the user to http://example.com/?file=filename.ext
echo $_POST['nome'];
echo "
";
echo php_file_tree($_SERVER['DOCUMENT_ROOT']."dmdocuments/".$_POST['nome'], "[link]");
}
}
?>
<body>
</body>
</html>