• Consiglio Direttivo

    Si, praticamente tramite .htaccess blocchi il DL diretto, ed il Dl avverrà tramite uno script 😉

    Un qualcosa del genere almeno, ricordo di averlo visto tempo fa ma non l'ho usato 😉


  • ModSenior

  • User

    Ah, thank you, thedark...

    Molte grazie Samyor faccio un pò di prove e se ho bisogno, faccio un fischio 😉


  • User

    ciao samyor...
    ho creato un campo "pratiche" nella tabella "pratiche" e ho insreito il nome del pdf...pratica n.1.pdf

    ora il problema è che non riesco a far visualizzare a video il link, dopo il login dell'utente...come lo devo impostare nella pagina?

    ricordo la mia pagina privata.php:

    [php]<?php
    // Includo la connessione al database
    require('config.php');
    // Se non è stata definita la variabile manda l'utente alla homepage
    if(!isset($_SESSION['login']))
    {
    header('Location: index.php');
    exit;
    }
    $id=$_SESSION['login'];
    $sql="SELECT id, descrizione, stato FROM pratiche WHERE id_user='$id'"; //l'$id lo recuperi dalla sessione 😉
    $query = @mysql_query ($sql) or die (mysql_error());
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Area privata</title>
    </head>
    <body>
    <table width="972" border="1">
    <tr><th><div align="left"><u>Pratica</u></div></th><th><div align="left">Descrizione</div></th><th><div align="left">Stato</div></th></tr>
    <?
    while ($array= mysql_fetch_array($query)) // raccogliamo il risultato della query in un array e usciamo fuori tutto il suo contenuto a video
    {
    echo "<tr><td>".$array['id']."</td><td>".$array['descrizione']."</td><td>".$array['stato']."</td></tr>";
    }
    ?>
    </table>
    <p> </p>
    <p> </p>
    <p> </p>
    <p><a href="logout.php">Logout</a><br />
    </p>
    </body>
    </html>
    [/php]


  • Consiglio Direttivo

    [php]<?php
    // Includo la connessione al database
    require('config.php');
    // Se non è stata definita la variabile manda l'utente alla homepage
    if(!isset($_SESSION['login']))
    {
    header('Location: index.php');
    exit;
    }
    $id=$SESSION['login'];
    $sql="SELECT id, descrizione, stato, pratiche FROM pratiche WHERE id_user='$id'";
    $query = @mysql_query ($sql) or die (mysql_error());
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Area privata</title>
    </head>
    <body>
    <table width="972" border="1">
    <tr><th><div align="left"><u>Pratica</u></div></th><th><div align="left">Descrizione</div></th><th><div align="left">Stato</div></th></tr><tr><th>Visualizza</th></tr>
    <?
    while ($array= mysql_fetch_array($query))
    {
    echo "<tr><td>".$array['id']."</td><td>".$array['descrizione']."</td><td>".$array['stato']."</td><td><a href="".$array['pratiche']."">Apri</a></tr>";
    }
    ?>
    </table>
    <p> </p>
    <p> </p>
    <p> </p>
    <p><a href="logout.php">Logout</a><br />
    </p>
    </body>
    </html>
    [/php]
    Dovrebbe essere qualcosa del genere se non mi è sfuggito nulla
    Un consiglio, nel nome dei file non mettere spazi o altre robe del genere, magari chiamalo [id]
    [iduser] (per esempio la pratica 6 dell'utente 2 si chiamerà 6_2.pdf...poi fai te, ma non mettere spazi, è altamente sconsigliato 😉


  • User

    funzionaaaaa!!!!!!:vai:
    Grazie veramente, sei stato un grande...non sarei riuscito a fare niente senza il tuo aiuto e sto imparando più così che con i tutorial!

    anche se ancora mi sfugge una cosina...

    ...non ho capito dove imposto il path del file, se è in un altra cartella...

    cioè, mi ha funzionato il tutto perchè il pdf è nella stessa directory dello script php, ma se lo stesso pdf lo volessi mettere in una cartella chiamata pratiche, dove la imposto questa cosa?

    non sono riuscito perchè non capisco quello slash al contrario nella stringa...sarebbe il backslash forse


  • Consiglio Direttivo

    @ginolatino said:

    cioè, mi ha funzionato il tutto perchè il pdf è nella stessa directory dello script php, ma se lo stesso pdf lo volessi mettere in una cartella chiamata pratiche, dove la imposto questa cosa?
    basta modificare dove andarlo a cercare 😉
    [php]echo "<tr><td>".$array['id']."</td><td>".$array['descrizione']."</td><td>".$array['stato']."</td><td><a href="pratiche/".$array['pratiche']."">Apri</a></tr>";[/php]> non sono riuscito perchè non capisco quello slash al contrario nella stringa...sarebbe il backslash forseYesse 😉


  • User

    Grazie, risolto!

    Stavo pensando a quando mi hai consigliato un libro sul php e che tu facendo così avevi imparando "qualcosina in generale"...alla faccia!!!! :surprised:

    Comunque veramente troppo gentile e se sei siculo come ho letto, portiamo in alto la bandiera della trinacria...io sto al nord, ma sono di mazara :figo2:


  • Consiglio Direttivo

    @ginolatino said:

    ... e se sei siculo come ho letto, portiamo in alto la bandiera della trinacria...io sto al nord, ma sono di mazara :figo2:

    Conterraneo sei ?:fumato:
    :festa: beviamo alla nostra allora 😄

    E' stato un piacere 😉
    e comunque per il libro non scherzavo, il PHP fondamentalmente non è difficile da comprendere, forse è più complesso lo studio degli operatori logici e cicli

    Alla prossima :ciauz:


  • User Newbie

    Salve,

    a questo script, per collegare il la pratica A al cliente 1, funziona a meraviglia, solo che mi devo ricordare l'id_user... come posso fare per poter scrivere direttamente il nome del cliente 1?

    Grazie


  • Consiglio Direttivo

    Ciao allcolors62 e benvenuto nel Forum GT. 🙂

    Intendi stampare a video il nome dell'user?

    Avendo l'user_id estrai quanto ti serve dalla tabella user e stampi quello che ti serve....se ho capito bene cosa ti serve. 😉


  • User Newbie

    [.....]

    Ciao e grazie del benvenuto,

    mi sono spiegato malissimo io.

    Il mio problema è questo, devo inserire delle pratiche ed ognuna associarle ad un cliente specifico. Questo funziona perfettamente. Il problema è che mi devo ricordare gli id_user mentre vorrei inserire gli user che mi ricordo meglio e ho minor possibilità di assegnare pratiche ai clienti sbagliati.
    I dati vengono inseriti nel database attraverso un semplice form che, ripeto, con gli id_user funziona a meraviglia.
    Intuisco che è una cosa semplice, solo che sono agli inizi con php e mi sono perso....

    Grazie mille


  • Consiglio Direttivo

    Immagino che ti basti inserire nel form una select che ti mostri i nomi degli utenti, valorizzi le option con l'id utente...ed il gioco è fatto. 😉


  • User Newbie

    C'è qualche anima buona che può rispondere a qualche mia domanda rispolverando questa discussione utilissima???:)


  • User Newbie

    salve, anch'io ho lo stesso problema.. sono giorni e giorni che provo a far ottenere ad ogni utente i propri risultati dal database richiamando la variabile $SESSION ma non ci riesco.ho realizzato un'area riservata con form di registrazione e login per accedervi che ho trovato spulciando il web... funziona tutto perfettamente tranne la parte che dovrei implementare, ovvero il caricamento dei dati propri di ciascun utente loggatonel database ho realizzato due tabelle: members e files_pdf ; nella prima ci sono tutti i dati anagrafici degli utenti più il campo 'id_user' auto-incrementale e primary key e nella seconda i campi ('id' - auto-incrementale, primary key, 'id_user', 'title', 'category', 'size')ho usato la sintassi mysql SELECT (nome campo) FROM (nome tabella) WHERE id_user='$id';//dove $id me lo ricavo dalla sessione. N.B il valore riesco a vederlo nella pagina richiamando una echo tipo ma quando vado a fare il ciclo 'for' per visualizzare le varie $row non mi da' niente.. vuoto assoluto.. aiutatemi che sono nella cac*a please vi posto la 'member-index'(ovvero la pagina riservata) , la 'login-form', a la 'login-exec' (quest'ultima vaglia i dati della login form e recupera gli stessi dai campi con metodo $_POST) grazie in anticipo


  • User Newbie
    
    member-index
    
    
    <?php
    require_once('auth');
    ?>
    
    
    
    
    
    
    
    
    
    
    
    
    <html>
    <head>
    <meta name="keywords" content="" />
    <meta name="description" content="" />
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    
    
    
    
    
    
    
    
    
    
    
    
    <script type="text/javascript">var NREUMQ=NREUMQ||[];NREUMQ.push(["mark","firstbyte",new Date().getTime()]);</script><script type="text/javascript">var NREUMQ=NREUMQ||[];NREUMQ.push(["mark","firstbyte",new Date().getTime()]);</script><title>Area riservata</title>
    <script type="text/javascript">
    <!--
    function PopupCentrata()
    {
    var w = 400;
    var h = 250;
    var l = Math.floor((screen.width-w)/2);
    var t = Math.floor((screen.height-h)/2);
    
    
    window.open("pdflist_user_MOD.php","","width=" + w + ",height=" + h + ",top=" + t + ",left=" + l);
    }
    //-->
    </script>
    </head>
    <body>
    <h3></h3>
    <table width="80%" border="0" align="center">
    <tr>
    <th height="36" align="center" scope="col"><h4 align="right">Benvenuto/a <?php echo $_SESSION['SESS_FIRST_NAME']; ?> <?php echo $_SESSION['SESS_LAST_NAME']; ?></h4>
    <div align="right"><a href="logout.php">Log out</a> </p>
    </div></th>
    </tr>
    <tr>
    <th width="62%" height="499" scope="col"><p>Questa &eacute; l'area riservata del condominio sito in:<?php echo $descr; ?></p>
    <p>&nbsp;</p>
    <p>Documenti condominio</p>
    <table width="80%" height="86" border="0">
    <tr>
    <td height="82" scope="col"> <?
    
    
    session_start();
    
    
    include "common/config.php";
    include "common/common_db.inc";
    
    
    $dbmanager = new db_mysql();
    $conn = $dbmanager->db_openconnection($host,$ln,$pw,$db);
    
    
    
    
    
    
    
    
    if(!$conn){
    
    
    die ($dbmanager->sql_error());
    
    
    }else 
    {
    $member['member_id']=$id_user_;
    
    
    
    
    $qry= "SELECT title_pdf, link_pdf, size_pdf, descr, login FROM files_pdf WHERE id_user= '$id_user_'";
    $rst = $dbmanager->do_query($qry);
    
    
    if(!$rst) {
    
    
    die ($dbmanager->sql_error());
    
    
    }else{
    
    
    $i = 0; 
    while ($row = mysql_fetch_row($rst)) {
    $i = $i + 1;
    $this_link = $row['2'];
    $this_place = $row['2'];
    $pdf_name = $row['1'];
    
    
    
    
    
    
    
    
    echo "<tr onmouseover=\"this.className='rowover'\" onmouseout=\"this.className='rowout'\">\n";
    
    
    echo "<td width=36%><font face=\"Verdana, Arial, Helvetica, sans-serif;\" size=2>&nbsp;" . $row[1] . "</font></td>\n";
    
    
    echo "<td width=9% align=center><font face=\"Verdana, Arial, Helvetica, sans-serif;\" size=2>" . $row[5] . "</font></td>\n";
    echo "<td width=9% align=center><font face=\"Verdana, Arial, Helvetica, sans-serif;\" size=2>" . $row[3] . "</font></td>\n"; echo "<td width=9% align=center><font face=\"Verdana, Arial, Helvetica, sans-serif;\" size=2>" . $row[4] . "</font></td>\n";
    
    
    echo "<td width=13% align=right><a href=\"$this_place\"><img name=\"Image$i\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('Image$i','','images/Adobe-PDF-Logo.jpg',1)\" src=\"Adobe-PDF-Logo.jpg\" width=\"35%\" alt=\"Download\"></img></a>\"></td>\n";
    echo "</tr>\n";
    
    
    }
    
    
    mysql_free_result($rst);
    }
    
    
    $dbmanager->db_closeconnection($conn);
    
    
    }
    
    
    
    
    ?> </td>
    </tr>
    </table>
    <p><table width="85%"><tr><td><div></div></td></tr></table></p>
    <table width="85%">
    </table>
    <p>&nbsp;</p>
    <table width="85%" border="0">
    <tr>
    <th height="75" scope="col"><p><a href="javascript:PopupCentrata()">Documenti privati</a></p>
    <p>News</p></th>
    </tr>
    </table>
    <p></p>
    <p>&nbsp;</p></th>
    </tr>
    </table>
    <p>&nbsp;</p>
    <p>
    </p>
    
    
    
    
    login-exec
    
    
    <?php
    //Start session
    session_start();
    
    
    //Include database connection details
    require_once('config.php');
    
    
    //Array to store validation errors
    $errmsg_arr = array();
    
    
    //Validation error flag
    $errflag = false;
    
    
    //Connect to mysql server
    $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
    if(!$link) {
    die('Failed to connect to server: ' . mysql_error());
    }
    
    
    //Select database
    $db = mysql_select_db(DB_DATABASE);
    if(!$db) {
    die("Unable to select database");
    }
    
    
    //Function to sanitize values received from the form. Prevents SQL injection
    function clean($str) {
    $str = @trim($str);
    if(get_magic_quotes_gpc()) {
    $str = stripslashes($str);
    }
    return mysql_real_escape_string($str);
    }
    
    
    //Sanitize the POST values
    $login = clean($_POST['login']);
    $password = clean($_POST['password']);
    
    
    //Input Validations
    if($login == '') {
    $errmsg_arr[] = 'Devi inserire il tuo ID';
    $errflag = true;
    }
    if($password == '') {
    $errmsg_arr[] = 'Devi inserire la tua password';
    $errflag = true;
    }
    
    
    //If there are input validations, redirect back to the login form
    if($errflag) {
    $_SESSION['ERRMSG_ARR'] = $errmsg_arr;
    session_write_close();
    header("location: login-form.php");
    exit();
    }
    
    
    //Create query
    $qry="SELECT * FROM members WHERE login='$login' AND passwd='".md5($_POST['password'])."'";
    $result=mysql_query($qry);
    
    
    //Check whether the query was successful or not
    if($result) {
    if(mysql_num_rows($result) == 1) {
    //Login Successful
    session_regenerate_id();
    $member = mysql_fetch_assoc($result);
    $_SESSION['SESS_MEMBER_ID'] = $member['member_id'];
    $_SESSION['SESS_FIRST_NAME'] = $member['nome'];
    $_SESSION['SESS_LAST_NAME'] = $member['cognome'];
    $_SESSION['login'] = $login['login'];
    session_write_close();
    header("location: member-index.php");
    exit();
    }else {
    //Login failed
    header("location: login-failed.php");
    exit();
    }
    }else {
    die("Query failed");
    }
    ?>
    
    
    
    
    login-form
    
    
    
    
    
    
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Login Form</title>
    <link href="loginmodule.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <p>&nbsp;</p>
    <form id="loginForm" name="loginForm" method="post" action="login-exec.php">
    <table width="269" border="0" align="center" cellpadding="2" cellspacing="0">
    <tr>
    <td width="122"><b>Login</b></td>
    <td width="139"><input name="login" type="text" class="textfield" id="login" /></td>
    </tr>
    <tr>
    <td><b>Password</b></td>
    <td><input name="password" type="password" class="textfield" id="password" /></td>
    </tr>
    <tr> 
    <td><br><input type="checkbox" name="ricorda"><font color=666666>ricordami</font></td> 
    
    
    
    
    
    
    <td><input type="submit" name="Submit" value="Login" /> <?php echo "<a href=\"javascript:history.go(-1)\">Go Back</a>"; ?></td>
    </tr>
    </table>
    </form>
    <script type="text/javascript">if(!NREUMQ.f){NREUMQ.f=function(){NREUMQ.push(["load",new Date().getTime()]);var e=document.createElement("script");e.type="text/javascript";e.src=(("http:"===document.location.protocol)?"http:":"https:")+"//"+"js-agent.newrelic.com/nr-100.js";document.body.appendChild(e);if(NREUMQ.a)NREUMQ.a();};NREUMQ.a=window.onload;window.onload=NREUMQ.f;};NREUMQ.push(["nrfj","beacon-1.newrelic.com","1b473294f5","550561","M1QBYUMCDUAEWkRfWgoeNkdYTAVcF0xdGUMGQgZaHxMLQw==",0,89,new Date().getTime(),"","","","",""]);</script><script type="text/javascript">if(!NREUMQ.f){NREUMQ.f=function(){NREUMQ.push(["load",new Date().getTime()]);var e=document.createElement("script");e.type="text/javascript";e.src=(("http:"===document.location.protocol)?"http:":"https:")+"//"+"js-agent.newrelic.com/nr-100.js";document.body.appendChild(e);if(NREUMQ.a)NREUMQ.a();};NREUMQ.a=window.onload;window.onload=NREUMQ.f;};NREUMQ.push(["nrfj","beacon-1.newrelic.com","1b473294f5","550561","M1QBYUMCDUAEWkRfWgoeNkdYTAVcF0xdGUMGQgZaHxMLQw==",0,51,new Date().getTime(),"","","","",""]);</script></body>
    </html>