![]() |
![]() |
|
| Condividi questo contenuto nei Social Network: |
|
Tweet |
|
|
|
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito. |
||||
|
|||||||||
|
|
LinkBack | Strumenti di discussione |
|
|
#1 (permalink) |
|
Moderatore
Data di registrazione: Nov 2005
Ubicazione: Sarzana (SP) / Fosdinovo (MS)
Messaggi: 844
|
Un numero prestabilito di richieste
Ciao a tutti.
Non ho trovato nulla in rete, ne sul forum, forse perché non so quali parole cercare... Ho una tabella in MySql da cui vorrei far estrarre agli utenti solo un certo numero di risultati. Mi spiego con un esempio: ci sono 30 risultati possibili, ma vorrei che gli utenti possano fare 3 richieste e vedere i 3 risultati voluti. Alla quarta richiesta che venisse un messaggio tipo "Hai superato le richieste che potevi fare, per conoscere le altre etc. etc..." o qualcosa del genere. Naturalmente se esce e rientra nel sito deve vedere i soliti risultati e non fare altre richieste. Esiste uno script già pronto da cui possa iniziare? Se ho un punto di partenza magari riesco a fare le modifiche che mi servono, ma da zero non so proprio cosa fare. ![]() |
|
|
|
|
|
|
|
#2 (permalink) |
|
Data di registrazione: Feb 2010
Messaggi: 136
|
Beh, devi salvare gli ip sul database, per forza.
A meno che non salvi tutto su un cookie (rischioso se capiscono il trucco e cancellano il cookie, ma poi nemmeno tanto) e ad ogni richiesta di quell'utente aumenti il valore del cookie di 1. Se il cookie è a 3, allora visualizzi il messaggio. Chiaramente dai validità un giorno (immagino il metodo sia quello) o una settimana, dopodiché il cookie scade e possono ripetere la ricerca. Rapidissimo e assolutamente indolore. Altrimenti ti tocca salvarti l'ip dell'utente, aggiornare il campo "richieste" di uno ad ogni richiesta e quando arriva a tre allora viene visualizzato un messaggio. Così però devi creare una query iniziale per calcolare, in base all'ip, le richieste effettuate (se presenti). |
|
|
|
|
|
#3 (permalink) |
|
Moderatore
Data di registrazione: Nov 2005
Ubicazione: Sarzana (SP) / Fosdinovo (MS)
Messaggi: 844
|
Gli utenti che vedono quella specifica pagina sono gli iscritti al mio e-commerce. Quindi non ho problemi per salvare gli IP
.Ma come realizzo materialmente questa cosa? |
|
|
|
|
|
#4 (permalink) |
|
Data di registrazione: Feb 2010
Messaggi: 136
|
Se sono registrari allora dell'ip non ne hai bisogno.
Devi crearti una tabella apposita (consiglio per essere più ordinato, anche se in realtà puoi aggiungere 2 campi alla tabella utenti e vai molto più lisci). Se aggiungi 2 campi è più facile: richieste time quando un utente loggato entra nella pagina X, una query aumenterà, nel record dell'utente loggato, il campo richieste di 1, salvandone il timestamp ( time() )nel campo apposito. Quando l'utente visualizzerà altre 2 volte la pagina X, se il campo richieste è minore di 3, riuscirà senza problemi, mentre la stessa query di prima aumenta di 2 il campo richieste e aggiornerà il timestamp. Arrivati alla terza volta, la condizione che controlla il campo richieste noterà che il valore è 3 (quindi 3 richieste effettuate) e boccerà la richiesta di visualizzazione, facendo uscire a video un messaggio: echo "Troppe richieste per oggi"; Ho tralasciato un punto apposta: il timestamp. Prima della condizione di controllo richieste dovrai farti un controllo sul tempo. Il ragionamento è semplice: SE il timestamp è maggiore di 86400 (1 giorno) allora modifica il campo Richieste con il valore 0. In questo modo, partendo dall'inizio: Quando l'utente visualizza la pagina viene controllato il tempo dall'ultima visita. SE il timestamp è maggiore di 86400 viene resettato il campo richieste. SE le richieste non sono uguali a 3 allora visualizza il contenuto e viene salvano il timestamp e aumentato di 1 il campo richieste ALTRIMENTI scrivi a video un messaggio di errore. Preferisco spiegare il procedimento che scrivere il codice. Credo sia il metodo migliore di insegnamento ![]() |
|
|
|
|
|
#8 (permalink) |
|
Data di registrazione: Feb 2010
Messaggi: 136
|
Guarda, credo di aver scritto passo passo quello che devi fare per ottenere il risultato che vuoi.
Prova a creare uno script partendo da quello che ti ho scritto passo passo e posta il codice qui. Sarò contento di aiutarti. E' semplice da realizzare, quindi con un paio di googolate te la cavi assai. |
|
|
|