Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Doppio GET in codice PHP

    E' da mesi per non dire anni che mi sto sbattendo partendo da 0 per realizzare il sito internet per il mio studio, ed era che sono arrivato quasi alla fine, mi sto perdendo in quella che spero sia una cavolata da nulla.

    In parole povere sto facendo un sito con la possibilità per i miei clienti, di accedere ad una sezione a loro riservata (quindi attraverso pagina di login), all'interno della quale attraverso tabella dinamica che si appoggia ad un database sql, sono indicati tutti i lavori fino ad ora conclusi per ogni cliente; e fino a qui tutto bene.

    Per ogni singolo lavoro presente nell'elenco, è poi possibile accedere ad una seconda pagina (lavoro.php) dove si vede la descrizione dell'incarico, i termini, ecc... ed un elenco dei file pdf che abbiamo prodotto (e quindi consegnato), ed anche questo funziona! (L'elenco dei file lo eseguo con un codice in php, dove preso l'ID del lavoro, mi ricava il percorso della directory dove eseguire la ricerca ed il gioco è fatto.)

    Ogni file .pdf che mi viene poi ricavato dall'array è cliccabile (e dopo anni ci sono arrivato)!

    Il problema sta nel fatto che non vorrei fare una pagina dove viene aperto il file .pdf, in quanto dalle prove che ho fatto, se qualcuno digita direttamente sul browser l'indirizzo, il file mi viene aperto senza chiedere alcuna credenziale di accesso,quindi pensavo di fare una pagina di download, alla quale attraverso l'ID del lavoro inviato dalla pagina lavoro.php tramite un GET, mi da la possibilità di scaricarmi o di aprirmi il file. Il problema è che dalla pagina lavoro.PHP devo indicare anche il percorso del file da aprire, ed o mando l'ID del lavoro o mando il percorso ed il nome del file da aprire.

    Qualcuno mi sa dare un consiglio su come fare??

    Non ho postato il codice perché ce l'ho sul PC in ufficio, ma se qualcuno mi sapere dare l'illuminazione, gliene sarei infinitamente grato.

  2. #2
    Mi sono dimenticato di scusarmi per il linguaggio non professionale, ma come ho già detto sono un novellino..

  3. #3
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120

    Re: Doppio GET in codice PHP

    Originariamente inviato da montefiori81
    Il problema è che dalla pagina lavoro.PHP devo indicare anche il percorso del file da aprire, ed o mando l'ID del lavoro o mando il percorso ed il nome del file da aprire.
    Sei fuori strada.
    Primo, non hai nessun bisogno di far girare nell'url il percorso del file, l'id del lavoro dovrebbe bastarti per recuperare tale percorso.
    Secondo, e più importante: se vuoi impedire agli utenti di scaricare i file pdf senza essere autenticati, devi bloccare l'accesso da web alla directory dove i file si trovano. Di conseguenza, ti serve un file php che faccia materialmente il download, ovvero vada a leggere il file binario e lo mandi al browser con le opportune intestazioni

  4. #4

    Re: Re: Doppio GET in codice PHP

    Originariamente inviato da luca200
    Sei fuori strada.
    Primo, non hai nessun bisogno di far girare nell'url il percorso del file, l'id del lavoro dovrebbe bastarti per recuperare tale percorso.
    Secondo, e più importante: se vuoi impedire agli utenti di scaricare i file pdf senza essere autenticati, devi bloccare l'accesso da web alla directory dove i file si trovano. Di conseguenza, ti serve un file php che faccia materialmente il download, ovvero vada a leggere il file binario e lo mandi al browser con le opportune intestazioni
    Perfetto, grazie per la dritta, ora proverò. Il fatto è che ho creato un file che si chiama download.php a cui invio l'ID del codice lavoro, ma mi risponde file non trovato. Mentre invece se modifico l'estensione del percorso con il percorso reale, me lo da. Comunque allego il codice di download.php

    Codice PHP:
    <?php require_once('Connections/ufficio.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;
    }
    ?>
    Codice PHP:
    <?php
    $recordID 
    $_GET['recordID'];
    $id $_SESSION['login'];
    $sql "SELECT * FROM utenti, clienti, lavori WHERE utenti.id = '$id' AND clienti.Id = utenti.clientiID AND lavori.clientiID = utenti.clientiID AND lavori.ID = $recordID";
    $do_sql = @mysql_query($sql) or die('Errore con la query: ');
    $array mysql_fetch_array($do_sql);

    ?>
    <?php
    require_once('ForceDownload.class.php');
    $recordID $_GET['recordID'];
    $dir "user/$array[user]/$array[Cod_cliente]/$array[Cod_lavoro]";  
    $file = isset($_GET['file']) ?  $_GET['file']  : ''
    $download = New ForceDownload($dir$file);
    $download->download() or die ($download->get_error());

    ?>
    /*echo $download->http_reponse;*/
    /*echo '<pre>';
    print_r(get_defined_constants(true));*/
    E' un codice che ho trovato girovagando per internet, e che mi sono un po adattato per le mie esigenze, solo che non mi funziona.

    Se mi puoi illuminare...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.