[PHP] Limitazione giornaliera

Andrea_2017

Utente Attivo
17 Set 2017
26
0
1
40
Salve a tutti, premetto che sono un autodidatta e molte cose ancora mi sono ignote :)
Sto creando, o perlomeno ci sto provando, un GdR PbC e tra le varie funzionalità ho inserito un giochino chiamato "trova oggetti" in cui l'utente cliccando,trova appunto un oggetto che finisce nel suo inventario. Il mio problema ora è che l'utente può giocare e quindi cliccare al max due volte al giorno a distanza di 4 ore dal primo click ed io non so come inserire questa limitazione. Qualcuno sa aiutarmi scrivendomi il pezzo di codice mancante?Grazie a tutti in anticipo

PHP:
<?php
session_start();
require '../config/includes_into.php';

$db=dbconnect();

$id_personaggio= $_SESSION['id_pg'];



$rs = query("SELECT nome, admin, master FROM personaggi WHERE id = " . $_SESSION['id_pg']);
$nome = $rs['nome'];


?>


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
 
</head>
<body
 style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;">
<div class="contenitore">
<div style="text-align: center;"><span
 style="text-align: center;"><big
 style="font-family: Palatino Linotype; color: rgb(153, 0, 0);"><big>COMPLIMENTI
<?php echo $nome; ?></big></big><span
 style="color: rgb(153, 0, 0);"> </span><br>
<span style="text-align: center;"><span
 style="font-family: Palatino Linotype; color: black;"><span
 style="font-weight: bold;">hai trovato</span> <span
 style="font-weight: bold; color: rgb(0, 0, 153);">
<?$n= rand(1, 35);

#echo $n;

switch ($n) {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        $id_oggetto= 1;
        $rs = "INSERT INTO oggetti_personaggio (id_pg, oggetto_id) VALUES('$id_personaggio', '$id_oggetto')";
                    $Result = mysql_query($rs);
        echo "un Anello di Apollo";
                                ?>
                              
          

<?
        break;
    case 6:
    case 7:
    case 8:
    case 9:
    case 10:
        $id_oggetto= 2;
        $rs = "INSERT INTO oggetti_personaggio (id_pg, oggetto_id) VALUES('$id_personaggio', '$id_oggetto')";
    $Result = mysql_query($rs);
        echo "una Lira";
                                ?>
                  
                                <?
        break;
    case 11:
    case 12:
    case 13:
    case 14:
    case 15:
        $id_oggetto= 3;
        $rs = "INSERT INTO oggetti_personaggio (id_pg, oggetto_id) VALUES('$id_personaggio', '$id_oggetto')";
    $Result = mysql_query($rs);
        echo "un Serto di Alloro";
                            ?>
                          
                            <?
        break;
    case 16:
    case 17:
    case 18:
    case 19:
    case 20:
        $id_oggetto= 4;
        $rs = "INSERT INTO oggetti_personaggio (id_pg, oggetto_id) VALUES('$id_personaggio', '$id_oggetto')";
    $Result = mysql_query($rs);
        echo "un Arco";
                                ?>
                              


                                <?
        break;
                            case 21:
                            case 22:
                            case 23:
                            case 24:
                            case 25:
    $id_oggetto= 10;
        $rs = "INSERT INTO oggetti_personaggio (id_pg, oggetto_id) VALUES('$id_personaggio', '$id_oggetto')";
    $Result = mysql_query($rs);
        echo "una Freccia";
                                ?>
                              
                              
                                <?
        break;
                                case 26:
                            case 27:
                            case 28:
                            case 29:
                            case 30:
                                 $id_oggetto= 11;
        $rs = "INSERT INTO oggetti_personaggio (id_pg, oggetto_id) VALUES('$id_personaggio', '$id_oggetto')";
    $Result = mysql_query($rs);
        echo "una Sacchetto con 50 Sesterzi";
                            ?>
                          
                      
                            <?
        break;
                            case 31:
                            case 32:
                            case 33:
                            case 34:
                            case 35:
                                 $id_oggetto= 12;
        $rs = "INSERT INTO oggetti_personaggio (id_pg, oggetto_id) VALUES('$id_personaggio', '$id_oggetto')";
    $Result = mysql_query($rs);
        echo "delle Gemme";
                                ?>
                              
                                <?
        break;
}
mysql_close();
?>
 
Ok già usi un db (nella precedente risposta consigliavo l'uso di un db ma poi ho letto il codice.....).Con una query preleverei l'ora e la data dell'ultimo accesso.Confronti giorno mese ed anno con la data corrente , se la data è la stessa verifichi l'oraro se non va bene non fai fare l'accesso.

Oppure prendi sempre la data e l'ora corrente della richiesta di accesso , poi fai una select cercando il nome utente con una condizione WHERE che è la finestra di accesso minima proibita.Poi conti quante righe a trovato con l'apposito comonando che pero' per mysql non conosco (myslq_num_rows?).Se trova un roscontro di almeno una riga allora vieti l'accesso ( o l'uso) altrimenti se conta zero righe lasci entrare.
 
Ultima modifica:
Il problema è che sto imparando man mano a programmare e questo è uno scoglio che ancora non riesco a superare...se qualcuno potrebbe farmi un esempio scritto di come fare ve ne sarei grato.

In sostanza dovrei permettere ad un utente di poter giocare ad esempio ogni 4 ore..nel database ho una tabella "personaggio" con le seguenti righe (che penso mi servano per questa "limitazione":
-data di accesso
-data ultimo gioco
 

Discussioni simili