Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    Originariamente inviato da mave_
    o perchè ormai ti sei imputato fai pure )
    Sì, sono il miglior testone rompi balle che esista XD
    Cmq dal momento che mi sn rotto, ho seguito il tuo consiglio.
    Codice PHP:
    <?php
        
    //login data 
        
    include("include.php");

    ///////////////////////////////////////////////////////
    $pagina_default 0;
    $id = (isset($_GET['id']))?$_GET['id']:$pagina_default;
     if(!
    is_numeric($id)) {
    $id 1;
    }
     if(
    $id >= 7) { //<-- in questo rigo cambiare "id >= NUM" in base al contenuto dell'array
    $id 0;
    }
    //////////////////////////////////////////////////////

    //INIZIALIZZO connessione + la query "CHECKTIME"
    $connessione mysql_connect('62.XXX.XXX.XX''XXXXXXX''XXXXXXX')
        or die(
    "Connessione non riuscita: " mysql_error());
        
    mysql_select_db('SqlXXXXXXX_1') or die("Selezione del database non riuscita");

        
    $checktime "SELECT checktime FROM phpbb_users WHERE username = '".$userdata['username']."'";
        
    $risultato mysql_query($checktime) or die("Query fallita: " mysql_error() );

    while (
    $row=mysql_fetch_array($risultato))
    {

        if(
    $checktime == $checktime 5*60){
            if(
    $userdata['session_logged_in']){        
       
                   
    $filename = array(
                    
    "nullo",
                    
    "ff_media/ciao.txt",
                    
    "ff_media/ciao1.txt"
                        
    );
                
    $filename realpath($filename[$id]);

                
    $file_extension strtolower(substr(strrchr($filename,"."),1));

                switch (
    $file_extension) {
                    case 
    "pdf"$ctype="application/pdf"; break;
                    case 
    "exe"$ctype="application/octet-stream"; break;
                    case 
    "zip"$ctype="application/zip"; break;
                    case 
    "doc"$ctype="application/msword"; break;
                    case 
    "xls"$ctype="application/vnd.ms-excel"; break;
                    case 
    "ppt"$ctype="application/vnd.ms-powerpoint"; break;
                    case 
    "gif"$ctype="image/gif"; break;
                    case 
    "png"$ctype="image/png"; break;
                    case 
    "jpe": case "jpeg":
                    case 
    "jpg"$ctype="image/jpg"; break;
                    default: 
    $ctype="application/force-download";
                }

                if (!
    file_exists($filename)) {
                    die(
    "Il file non esiste");
                }

                
    header("Pragma: public");
                
    header("Expires: 0");
                
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
                
    header("Cache-Control: private",false);
                
    header("Content-Type: $ctype");
                
    header("Content-Disposition: attachment; filename=\"".basename($filename)."\";");
                
    header("Content-Transfer-Encoding: binary");
                
    header("Content-Length: ".@filesize($filename));
                
    set_time_limit(0);
                @
    readfile("$filename") or die("File non trovato.");
                
            
    //eseguo il checktime
            
    $user "UPDATE phpbb_users SET checktime = 'now()'";
            
    $risultato mysql_query($user) or die("Query fallita: " mysql_error() ); 
                
                
    //CHIUDO IL WHILE
                

                
    //CHIUDO IF CHECKTIME
                
    } else { echo "Il tuo download è stato eseguito alle ".$checktime." per salvaguardare la nostra banda web, il prossimo download sarà disponibile alle".$checktime 5*60; }
                
                
    // ELSE NON E' LOGGATO
                
    } else { /*ERRORE QUI "Parse error: syntax error, unexpected T_ELSE in /web/htdocs/www.crystalmemories.it/home/downloader/dlquery.php on line 78" */
                
    ?> 
                <form action="../public/forum/login.php" method="post" name="login"> 
    <input type="text" name="username">

    <input type="password" name="password">

    <input type="hidden" name="redirect" value="<? echo "../../downloader/dlquery.php"; if( $id == "" ){ echo ""; } else { echo "?id=".$id; } ?>"> 
    <input type="submit" value="login" name="login">
    </form>
    <? 
    //CHIUDO l'ELSE PER IL LOGIN

    mysql_free_result($risultato);
    mysql_close($connessione);
    ?>
    Mi da errore però all'else del login in rigo 78... e non capisco perkè. Poi forse i controlli per il tempo che ho usato nelle query non sono neanke corretti :|

  2. #12
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    15
    hai fatto casino con le graffe.
    Controlla bene.. es è falso dove commenti chiusura del while etc etc.

    I controlli dell' ora..

    al posto di

    if($checktime == $checktime + 5*60)

    direi di mettere

    if($checktime >= $checktime - 5*60)

    giusto !? :master:

  3. #13
    Originariamente inviato da mave_
    hai fatto casino con le graffe.
    Controlla bene.. es è falso dove commenti chiusura del while etc etc.
    Ok. Ora controllo, grazie. Però essendo il while la prima cosa che eseguo, non è anche la prima cosa che chiudo con la graffa?
    I controlli dell' ora..

    al posto di

    if($checktime == $checktime + 5*60)

    direi di mettere

    if($checktime >= $checktime - 5*60)
    Sì è vero il ">=" ma nn comprendo il "- 5*60" dal momento che checktime registra l'ora in cui è stato fatto il download (quindi da checktime + 5 minuti posso fare il download)

  4. #14
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    15
    pardon errore.. tilt anche nel mio cranio !!

    cmq ripostuliamo il problema:
    l'utente scarica e contemporaneamente salvi l'ora.
    dopo un certo periodo l'utente tenta nuovamente di scaricare.

    La condizione è che passino minimo 5 minuti giusto !?
    quindi ricavi l'ora dell'ultimo download dal db e la memorizzerai nella var ad es $last_time
    poi necessiti dell'ora corrente che salverai nella var $now.. quindi:

    if ($now >= $last_time - 5*60)

    o se ti sembra piu' leggibile:

    if ($now + 5*60 >= $last_time)

    ricordati poi di aggiornare il db se l'utente ha passato questa condizione.

  5. #15
    Ti ho mandato un messaggio privato.

    EDIT:
    In ogni caso come registro nella variabile "now()"? Va bene anche il formato: $now = time();?

  6. #16
    Codice PHP:
    <?php

    //login data 
        
    include("include.php");

    ///////////////////////////////////////////////////////
    $pagina_default 0;
    $id = (isset($_GET['id']))?$_GET['id']:$pagina_default;
     if(!
    is_numeric($id)) {
    $id 1;
    }
     if(
    $id >= 7) { //<-- in questo rigo cambiare "id >= NUM" in base al contenuto dell'array
    $id 0;
    }
    //////////////////////////////////////////////////////

      
    if($userdata['session_logged_in'])
      {

    //INIZIALIZZO connessione + la query "CHECKTIME"
    $connessione mysql_connect(' '' '' ')
        or die(
    "Connessione non riuscita: " mysql_error());
        
    mysql_select_db('Sql123384_1') or die("Selezione del database non riuscita");

    $query_last_time "SELECT checktime FROM phpbb_users WHERE username = '".$userdata['username']."'";
    $risultato mysql_query($query_last_time) or die("Query fallita: " mysql_error() );


    $row mysql_fetch_array($risultato);
    $last_time $row['checktime'];

        
    $now time();
        if(
    $now 5*60 >= $last_time)
        {
        
          
          
    $filename = array(
          
    "nullo",
          
    "ff_media/ciao.txt",
          
    "ff_media/ciao1.txt"
          
    );
                
    $filename realpath($filename[$id]);

                
    $file_extension strtolower(substr(strrchr($filename,"."),1));

                switch (
    $file_extension) {
                    case 
    "pdf"$ctype="application/pdf"; break;
                    case 
    "exe"$ctype="application/octet-stream"; break;
                    case 
    "zip"$ctype="application/zip"; break;
                    case 
    "doc"$ctype="application/msword"; break;
                    case 
    "xls"$ctype="application/vnd.ms-excel"; break;
                    case 
    "ppt"$ctype="application/vnd.ms-powerpoint"; break;
                    case 
    "gif"$ctype="image/gif"; break;
                    case 
    "png"$ctype="image/png"; break;
                    case 
    "jpe": case "jpeg":
                    case 
    "jpg"$ctype="image/jpg"; break;
                    default: 
    $ctype="application/force-download";
                }

                if (!
    file_exists($filename)) {
                    die(
    "Il file non esiste");
                }

                
    header("Pragma: public");
                
    header("Expires: 0");
                
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
                
    header("Cache-Control: private",false);
                
    header("Content-Type: $ctype");
                
    header("Content-Disposition: attachment; filename=\"".basename($filename)."\";");
                
    header("Content-Transfer-Encoding: binary");
                
    header("Content-Length: ".@filesize($filename));
                
    set_time_limit(0);
                @
    readfile("$filename") or die("File non trovato.");
                
                
    $now time();
                
                
    // si suppone che il download sia andato a buon fine e quindi aggiorno il db
                
    $user 'UPDATE `phpbb_users` SET `checktime` = "'.$now.'" WHERE `username` = "'.$userdata['username'].'"';
                
    $risultato mysql_query($user) or die("Query fallita: " mysql_error() ); 
        
       
        } else {
        
        echo 
    "Devono passare 5 minuti dall'ultimo download";    }
        
        
    mysql_free_result($risultato);
        
    mysql_close($connessione);
      
      } else { 
    // ELSE NON E' LOGGATO
        
    ?> 
        <form action="../public/forum/login.php" method="post" name="login"> 
      <input type="text" name="username">

      <input type="password" name="password">

      <input type="hidden" name="redirect" value="<? echo "../../downloader/new_dlquery.php"; if( $id == "" ){ echo ""; } else { echo "?id=".$id; } ?>"> 
      <input type="submit" value="login" name="login">
      </form>
    <? 
      
    //CHIUDO l'ELSE PER IL LOGIN
    ?>
    Al momento il codice si presenta così, ma il controllo con la query (quella che scrive l'orario) sembra non avvenire, qualcuno sa aiutarmi?

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.