Pagina 1 di 6 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 58
  1. #1

    Limitare inserimento...

    Domanda...
    come faccio a limitare l'inserimento di articoli (per esempio massimo 2 per utente) in un DB da parte di utenti registrati?
    Dato che ogni articolo inserito ha l'ID proprio dell'utente che l'ha inserito, pensavo di verficare l'esistenza di tale ID e in che quantità è presente nel DB.
    E' una cavolata?
    Grazie!
    [...Ubi iacet dimidium, iacet pectus meum...]

  2. #2
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Non è una cavolata...anzi...direi che è l'unica soluzione sensata^^


  3. #3
    Originariamente inviato da Il_Drugo
    Non è una cavolata...anzi...direi che è l'unica soluzione sensata^^

    Ok...ora nella mia ignoranza mi studio la soluzione con la sintassi corretta
    Grazie della conferma!
    [...Ubi iacet dimidium, iacet pectus meum...]

  4. #4
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Ovviamente quella che hai tu stesso indicato è la soluzione logica più semplice ed efficace.

    Nel codice prima di una INSERT e dopo il submit ti basta eseguire una SELECT che verfica quanti articoli ha già inserito l'utente, se sono meno di 2 procedi con la INSERT altrimenti restituisci un semplice avvertimento all'utente e blocchi la query.

    Meglio ancora sarebbe di impedire all'utente di accedere all'interfaccia di inserimento se ha già due articoli all'attivo in modo da evitargli di sprecare tempo inutile.

    Per fare questo controllo ti basta tenere traccia in una variabile di sessione dell'ID dell'utente.

    Ciao.

  5. #5
    Originariamente inviato da Sgurbat
    Ovviamente quella che hai tu stesso indicato è la soluzione logica più semplice ed efficace.

    Nel codice prima di una INSERT e dopo il submit ti basta eseguire una SELECT che verfica quanti articoli ha già inserito l'utente, se sono meno di 2 procedi con la INSERT altrimenti restituisci un semplice avvertimento all'utente e blocchi la query.

    Meglio ancora sarebbe di impedire all'utente di accedere all'interfaccia di inserimento se ha già due articoli all'attivo in modo da evitargli di sprecare tempo inutile.

    Per fare questo controllo ti basta tenere traccia in una variabile di sessione dell'ID dell'utente.

    Ciao.
    Giusto...ottima idea...
    Non ho le capacità tecniche per farlo (il mio è solo un passatempo) ma ci provo
    [...Ubi iacet dimidium, iacet pectus meum...]

  6. #6
    Originariamente inviato da Sgurbat

    Meglio ancora sarebbe di impedire all'utente di accedere all'interfaccia di inserimento se ha già due articoli all'attivo in modo da evitargli di sprecare tempo inutile.

    Per fare questo controllo ti basta tenere traccia in una variabile di sessione dell'ID dell'utente.

    Ciao.
    Sarebbe l'ideale ma...
    la parte che lancia l'inserimento di un nuov articolo sta nel codice html quindi per me è un pò un casino.
    Adesso vedo di implementare l'altra soluzione da mettere prima della insert e dopo il submit, purtroppo hai ragione... una persona compilerà la scheda e poi non potrà inviarla, perdita di tempo... ma di meglio non so fare (anzi, non riuscirò neanche fare questo mi sa )
    [...Ubi iacet dimidium, iacet pectus meum...]

  7. #7
    Allora, con questo codice sono riusciuto a ricavare il numero totale di articoli inseriti per utente loggato

    Codice PHP:
    $result mysql_query("SELECT COUNT(*) FROM articles  WHERE owner LIKE '$current_user'");
    print 
    mysql_result($result0); 
    Ora... tramite un IF e un ELSE dò o meno la possibilità di inserire altro oppure di rimandarlo ad un'altra pagina.... corretto?
    [...Ubi iacet dimidium, iacet pectus meum...]

  8. #8


    Uffa...non ci riesco!
    Metto la condizione con una IF del tipo

    se il numero degli articoli di questo utente è minore di due vai al form di inserimento

    ELSE maggiore di 2 "non puoi inserire ulteriori articoli".

    A livello logico è corretto? ame pare di sì.
    Il risultato che ottengo è che sia che sono minori di 2 sia che sono maggiori non mi rimanda cmq al form di inserimento
    [...Ubi iacet dimidium, iacet pectus meum...]

  9. #9
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Devi aggiungere l'alias relativo al count() della query

    Codice PHP:
    $result mysql_query("SELECT COUNT(*) AS tot_articles
                           FROM articles
                           WHERE owner LIKE '
    $current_user'")
                           or die(
    mysql_error());

    $row mysql_fetch_object($result); 
    e poi fai un controllo, tipo

    Codice PHP:
    if($row->tot_articles <= 2//redirect al form

    else //altre istruzioni 

  10. #10
    Originariamente inviato da neida
    Devi aggiungere l'alias relativo al count() della query

    Codice PHP:
    $result mysql_query("SELECT COUNT(*) AS tot_articles
                           FROM articles
                           WHERE owner LIKE '
    $current_user'")
                           or die(
    mysql_error());

    $row mysql_fetch_object($result); 
    e poi fai un controllo, tipo

    Codice PHP:
    if($row->tot_articles <= 2//redirect al form

    else //altre istruzioni 
    Grazie!
    Domani ci provo!
    [...Ubi iacet dimidium, iacet pectus meum...]

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.