Ciao a tutti ragazzi,
ho creato un'area privata dove ogni cliente effettuando il login accede alla propria area privata. Solo gli utenti dell'azienda xxx possono accedere all'area admin dove effettuare l'upload dei file. Funziona tutto bene. Adesso devo aggiungere altre funzioni, sistemare l'impaginazione e creare una grafica. Vorrei sapere nato che sono un novellino del php, se ho progettato tutto correttamente o se il codice scritto è sbagliato o potrebbe (sicuramente) essere migliorato. Grazie a tutti.
admin
<?
require ('config.php');
if($_SESSION['azienda'] != xxx){
die (' utente non valido');
}
else
{
?><h1>Admin Ftp xxx</h1>
<h3>Completa tutti i campi per un corretto inserimento.</h3>
<h2>Per problemi consultare xxx.</h2>
<form method="post" action="" enctype="multipart/form-data">
Nome:<input type="text" name="nome">
Descrizione:<input type="text" name="descrizione">
Azienda:<select name="azienda">
<option value="azienda1">azienda1</option>
<option value="azienda2" selected="selected">azienda2</option>
<option value="azienda3">azienda3</option>
</select>
File:<input type="file" name="file">
<input type="submit" name="registra">
</form><?
if(isset($_POST['registra'])){
$nome = (isset($_POST['nome'])) ? trim($_POST['nome']) : '';
$descrizione = (isset($_POST['descrizione'])) ? trim($_POST['descrizione']) : '';
$azienda = (isset($_POST['azienda'])) ? trim($_POST['azienda']) : '';
$file = $_FILES["file"]["name"];
//controlliamo che il file rispetti le dimensioni impostate
if ($_FILES["file"]["size"] < 1024000){
//controlliamo se ci sono stati errori durante l'upload
if ($_FILES["file"]["error"] > 0){
echo "Codice Errore: " . $_FILES["file"]["error"]."
";
}
else{
//stampo alcune informazioni sul file
//il nome originale
echo "Nome File: " . $_FILES["file"]["name"]."
";
//il mime-type
echo "Tipo File: " . $_FILES["file"]["type"] . "
";
//la dimensione in byte
echo "Dimensione [byte]: " . $_FILES["file"]["size"] . "
";
//il nome del file temporaneo
echo "Nome Temporaneo: " . $_FILES["file"]["tmp_name"] . "
";
//controllo se il file esiste già sul server
if (file_exists("ftp/$azienda/" . $_FILES["file"]["name"])){
echo "Il file " . $_FILES["file"]["name"] . " è già presente sul server";
}
else{
//sposto il file caricato dalla cartella temporanea alla destinazione finale
move_uploaded_file($_FILES["file"]["tmp_name"], "ftp/$azienda/" . $_FILES["file"]["name"]);
echo "File caricato in: " . "ftp/$azienda/" . $_FILES["file"]["name"];
$select = "INSERT INTO files (nome,descrizione,azienda,indirizzo) VALUES ('$nome','$descrizione','$azienda','$file')";
$query = mysql_query($select);
}
}
}
else{
echo "File troppo grande!!";
}
if($query){
echo "Inserimento avvenuto";
}
else {
echo "Errore";
}
}
}
?>
login
<?
require ('config.php');
if(isset($_POST['login'])){
$username = (isset($_POST['username'])) ? trim($_POST['username']) : '';
$password = (isset($_POST['password'])) ? trim($_POST['password']) : '';
$pass = md5($password);
$select = mysql_query ("SELECT id,username,azienda FROM utenti WHERE username = '$username' AND password = '$pass' LIMIT 1");
if(mysql_num_rows($select) == 1)
{
$login = mysql_fetch_array($select);
$nomecliente = $login['username'];
$_SESSION['login'] = $login['id'];
$_SESSION['azienda'] = $login['azienda'];
$_SESSION['username'] = $login['username'];
$_SESSION['pagina'] = $nomecliente;
header("Location: privata.php");
}
else
die('utente non rico');
}
?>
<html>
<head>
</head>
<body>
<h1>Benvenuto</h1>
<h2>Effettua il login per accedere all'area privata</h2>
<form method="post" action="">
Nome utente:<input type="text" name="username">
Password:<input type="pass" name="password">
<input type="submit" name="login" value="login">
</form>
Registrati
Login
</body>
</html>
Privata
<?
require ('config.php');
$azienda = $_SESSION['azienda'];
$leggi = mysql_query("SELECT * FROM files WHERE azienda = '$azienda'");
if($leggi)
echo "<h1>Elenco file presenti.</h1>
";
else
echo "connessione non riuscita";
while ($riga = mysql_fetch_array($leggi)) {
$url = $riga['indirizzo'];
echo $riga['nome'];
echo "
";
echo $riga['descrizione'];
echo "
";
echo "<a href=ftp/$azienda/$url>Download</a>";
echo "
";
}
?>
Registrati
<?
require ('config.php');
if(isset($_POST['registrati']))
{
$username = (isset($_POST['username'])) ? trim($_POST['username']) : '';
$password = (isset($_POST['password'])) ? trim($_POST['password']) : '';
$azienda = (isset($_POST['azienda'])) ? trim($_POST['azienda']) : '';
if(strlen($username) < 3 || strlen($username) > 10)
die ('Dimensione nome utente errata');
elseif(strlen($password) < 3 || strlen($password) > 10)
die ('Dimensione password errata');
elseif(strlen($azienda) < 3 || strlen($azienda) > 10)
die ('Dimensione nome azienda non valido');
else
{
$pass = md5($password);
$query = "INSERT INTO utenti (username,password,azienda) VALUES('$username','$pass','$azienda')";
$result = mysql_query($query);
if($result)
echo "Inserimento riuscito";
else
echo "Inserimento non riuscito";
}
}
?>
<!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>Registrazione</title>
</head>
<body>
<h1>Registrazione</h1>
<form method="post" action="">
Nome utente:<input type="text" name="username">
Password:<input type="pass" name="password">
Azienda:<input type="text" name="azienda">
<input type="submit" name="registrati">
</form>
Registrati
Login
</body>
</html>