Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 22
  1. #11
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Ma nella pagina download.php la query per recuperare il nome del file passato attraverso $_GET è giusta?

    Questo perchè alla funzione forceDownload devi necessariamente passare un nome di file valido. Quindi se come hai detto prima ti sei organizzato per disporre di link per il download fatti in questo modo: download.php?id_game=45, è ovvio che nella pagina download.php dovrai fare una query per selezionare il nome associato all'ID passato dal link. Chiaro?

  2. #12
    Originariamente inviato da neida
    Ma nella pagina download.php la query per recuperare il nome del file passato attraverso $_GET è giusta?

    Questo perchè alla funzione forceDownload devi necessariamente passare un nome di file valido. Quindi se come hai detto prima ti sei organizzato per disporre di link per il download fatti in questo modo: download.php?id_game=45, è ovvio che nella pagina download.php dovrai fare una query per selezionare il nome associato all'ID passato dal link. Chiaro?
    si chiaro !

    ma io vorrei ke una volta cliccato mi incremeti il num ( LO FA) e poi si apra automaticamente la finestra di scaricamento del file(COME FARE? ) e poi si chiudi il tutto rimanendo con la pagina da dove in precedenza ho clikkato

  3. #13
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Quando passi l'ID del file da scaricare alla pagina download.php col link download.php?id_game=45, quel numero 45 dovrà servirti per la query che andrai ad eseguire, sempre in download.php, per recuperare il nome del file ed effettuare il download.

    Se all'ID 45 corrispodesse il file pippo.zip sarà quest'ultimo a servire la funzione forceDownload il parametro giusto per permettere di scaricare il file richiesto.

    Praticamente alla fine dovrai ottenere questo, dopo la query di selezione dell'ID

    forceDownload($row->nomeFile);

    che sarebbe forceDownload(pippo.zip);

  4. #14
    sto diventanto pazzo VVoVe:




    codice:
    <?php
    include('Connessione.php');
    
    $risultato=mysql_query("Select* from jgames,click where jgames.id = click.id") or die ("non trovo la tabella");
    $numRecord=mysql_num_rows($risultato);
    
    //$record['file']." il mio file esempio pippo.jpg
    
    echo"<a href='".$record['file']."'>[img]img/scarica.gif[/img]";
    
     
    
    function forceDownload( $risultato   ) { 
    /** 
    * Function forceDownload: 
    * download any type of file if it exists and is readable 
    * ------------------------------------- 
    * @author         Andrea Giammarchi 
    * @date           18/01/2005 [13/04/2005] 
    * @compatibility  PHP >= 4.3.0 
    */ 
    if( file_exists( $file ) == true && is_readable( $file ) == true ) { 
      $filename = &basename( $file ); 
        if( strpos( $_SERVER['HTTP_USER_AGENT'], 'MSIE' ) !== false ) { 
          $parsename = &explode( '.', $filename ); 
          $last = count( $parsename ) - 1; 
          $filename = &implode( '%2E', array_slice( $parsename, 0, $last ) ); 
          $filename .= '.'.$parsename[$last]; 
        } 
      $content = &file_get_contents( $file ); 
        header( 'Content-Type: application/octet-stream' ); 
        header( 'Content-Disposition: attachment; filename="'.$filename.'"' ); 
        header( 'Content-Length:'.strlen( $content ) ); 
        header( 'Content-Transfer-Encoding: binary' ); 
        echo $content; 
        exit(0); 
        } 
    }
    
    
    
    //controllo se la variabile id_game è stata passata ed è di tipo intero, poi 
    //assegno il suo valore a $id ed eseguo la query per ottenere l'id richiesto 
    if(isset($_GET['id_game']) && (int)$_GET['id_game']) { 
    
    $id = $_GET['id_game']; 
    $categoria = $_GET['categoria']; 
    $sql = mysql_query("SELECT * FROM click WHERE id = '$id'") or die(mysql_error()); 
    
    //se nalla tabella "click" l'id richiesto non è presente lo inserisco e imposto 
    //il valore a 1. Se invece l'id esiste già allora lo incremento soltanto. 
    $query = (!mysql_num_rows($sql)) 
           ? "INSERT INTO click VALUES ('$id', 1)" 
           : "UPDATE click SET num_click = num_click + 1 WHERE id = '$id'"; 
    
    //eseguo la query per l'aggiornamento del record 
    mysql_query($query) or die(mysql_error()); 
    
    //recupero il nome del file dalla tabella dedicata (ovviamente associato all'id_game) 
    $sql2 = mysql_query("SELECT * FROM jgames WHERE id = '$id'") or die(mysql_error()); 
    $file = mysql_fetch_object($sql2); 
    
    // ...fine ;) 
    forceDownload($file->nome); 
    }
    
    ?>
    cosa sbaglio??

  5. #15
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Non devi modificare i parametri della funzione! La tua variabile $risultato non c'entra nulla con la funzione, anzi ne compromette il corretto funzionamento. Ripristina tutto com'era all'inizio e riguardati bene tutto il codice che ti ho postato prima. In particolare le ultime righe, dove trovi la query per selezionare il nome del file da scaricare associato all'id passato col link.

  6. #16
    si hai ragione VVoVe:


    codice:
    se ho capito bene dovrebbe essere cosi??
    
    
    <?php
    include('Connessione.php');
    function forceDownload( &$file ) { 
    /** 
    * Function forceDownload: 
    * download any type of file if it exists and is readable 
    * ------------------------------------- 
    * @author         Andrea Giammarchi 
    * @date           18/01/2005 [13/04/2005] 
    * @compatibility  PHP >= 4.3.0 
    */ 
    if( file_exists( $file ) == true && is_readable( $file ) == true ) { 
      $filename = &basename( $file ); 
        if( strpos( $_SERVER['HTTP_USER_AGENT'], 'MSIE' ) !== false ) { 
          $parsename = &explode( '.', $filename ); 
          $last = count( $parsename ) - 1; 
          $filename = &implode( '%2E', array_slice( $parsename, 0, $last ) ); 
          $filename .= '.'.$parsename[$last]; 
        } 
      $content = &file_get_contents( $file ); 
        header( 'Content-Type: application/octet-stream' ); 
        header( 'Content-Disposition: attachment; filename="'.$filename.'"' ); 
        header( 'Content-Length:'.strlen( $content ) ); 
        header( 'Content-Transfer-Encoding: binary' ); 
        echo $content; 
        exit(0); 
        } 
    }
    
    
    
    //controllo se la variabile id_game è stata passata ed è di tipo intero, poi 
    //assegno il suo valore a $id ed eseguo la query per ottenere l'id richiesto 
    if(isset($_GET['id_game']) && (int)$_GET['id_game']) { 
    
    $id = $_GET['id_game']; 
    $categoria = $_GET['categoria']; 
    $sql = mysql_query("SELECT * FROM click WHERE id = '$id'") or die(mysql_error()); 
    
    //se nalla tabella "click" l'id richiesto non è presente lo inserisco e imposto 
    //il valore a 1. Se invece l'id esiste già allora lo incremento soltanto. 
    $query = (!mysql_num_rows($sql)) 
           ? "INSERT INTO click VALUES ('$id', 1)" 
           : "UPDATE click SET num_click = num_click + 1 WHERE id = '$id'"; 
    
    //eseguo la query per l'aggiornamento del record 
    mysql_query($query) or die(mysql_error()); 
    
    //recupero il nome del file dalla tabella dedicata (ovviamente associato all'id_game) 
    $sql2 = mysql_query("SELECT nomefile FROM jgames WHERE jgames.id = '$id' ") or die(mysql_error()); 
    $file = mysql_fetch_object($sql2); 
    
    // ...fine ;) 
    forceDownload($file->nome); 
    }
    
    ?>
    pero ora mi incrementa ma niente download

  7. #17
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Ma scusa, se prima selezioni con la query il campo "nomefile" dalla tabella jgames, perchè dopo vorresti che venisse riconosciuto come parametro esatto della funzione se non lo specifichi allo stesso modo???

    forceDownload($file->nomefile);

    Che dici, ci siamo arrivati alla fine?

  8. #18
    ho modificato quel pezzo ma niente :master:
    inoltre ho implementato num_click nella tabella jgames funziona l'incremento ma niente download automatico

    codice:
    <?php
    include('Connessione.php');
    
    function forceDownload( &$file ) { 
    /** 
    * Function forceDownload: 
    * download any type of file if it exists and is readable 
    * ------------------------------------- 
    * @author         Andrea Giammarchi 
    * @date           18/01/2005 [13/04/2005] 
    * @compatibility  PHP >= 4.3.0 
    */ 
    if( file_exists( $file ) == true && is_readable( $file ) == true ) { 
      $filename = &basename( $file ); 
        if( strpos( $_SERVER['HTTP_USER_AGENT'], 'MSIE' ) !== false ) { 
          $parsename = &explode( '.', $filename ); 
          $last = count( $parsename ) - 1; 
          $filename = &implode( '%2E', array_slice( $parsename, 0, $last ) ); 
          $filename .= '.'.$parsename[$last]; 
        } 
      $content = &file_get_contents( $file ); 
        header( 'Content-Type: application/octet-stream' ); 
        header( 'Content-Disposition: attachment; filename="'.$filename.'"' ); 
        header( 'Content-Length:'.strlen( $content ) ); 
        header( 'Content-Transfer-Encoding: binary' ); 
        echo $content; 
        exit(0); 
        } 
    }
    
    
    //controllo se la variabile id_game è stata passata ed è di tipo intero, poi 
    //assegno il suo valore a $id ed eseguo la query per ottenere l'id richiesto 
    if(isset($_GET['id_game']) && (int)$_GET['id_game']) { 
    
    $id = $_GET['id_game']; 
    
    $sql = mysql_query("SELECT * FROM jgames WHERE id = '$id' ") or die(mysql_error()); 
    
    //se nalla tabella "jgames " l'id richiesto non è presente lo inserisco e imposto 
    //il valore a 1. Se invece l'id esiste già allora lo incremento soltanto. 
    $query = (!mysql_num_rows($sql)) 
           ? "INSERT INTO jgames VALUES ('$id', 1) " 
           : "UPDATE jgames  SET num_click = num_click + 1 WHERE id = '$id'" ; 
    
    //eseguo la query per l'aggiornamento del record 
    mysql_query($query) or die(mysql_error()); 
    
    //recupero il nome del file dalla tabella jgames (ovviamente associato all'id_game) 
    $risultato=mysql_query("Select nomefile from jgames WHERE id='$id'   ") or die ("non trovo la tabella");
    
    
    $file = mysql_fetch_object($risultato); 
    
    // ...fine ;) 
    forceDownload($file->nomefile ); 
    
    
    
    ?>

  9. #19
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Cosa continene esattamente il campo `nomefile` ?

    Siamo sempre lì... se anche dopo l'aggiunta della tabella per conteggiare i click direttamente nella tabella principale (jgames) tutto funziona tranne il download, significa che alla funzione forceDownload non stai passando un parametro valido. Devi necessariamente fornire un nome di file valido con relativo percorso ...

  10. #20
    Originariamente inviato da neida
    Cosa continene esattamente il campo `nomefile` ?

    Siamo sempre lì... se anche dopo l'aggiunta della tabella per conteggiare i click direttamente nella tabella principale (jgames) tutto funziona tranne il download, significa che alla funzione forceDownload non stai passando un parametro valido. Devi necessariamente fornire un nome di file valido con relativo percorso ...

    contiene esempio


    file/jgames/miogioco.jar


    il percordo deve essere assoluto?

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 © 2026 vBulletin Solutions, Inc. All rights reserved.