Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Controllo d'iscrizione in database

    Buongiorno a tutti!

    Sto creando un database di raccolta iscrizioni. Vorrei che se un utente risulta già iscritto e tanta di reiscriversi, un controllo sui dati inseriti (cognome e numero di matricola), bloccasse la procedura. Altrimenti qualcuno potrebbe iscriversi 2 e più volte.

    Come faccio?
    Qui c'è un'idea dello script.

    $query = "SELECT cognome,matricola FROM listafisio1 WHERE cognome='$cognome', matricola='$matricola'";

    if ((mysql_query($query, $db))==true) die ("Il tuo Cognome e Matricola risultano già iscritti alla lista");


    In pratica una query dovrebbe cercare nel database i match tra cognome e matricola già inseriti (sotto una stessa id ovviamente, che è la primary key) e, se li trova, deve morire e non proseguire nel resto dello script sottostante.

    Grazie a chiunque mi posti una correzione funzionante dello script.
    Tom

  2. #2
    Prova così:


    $query = "SELECT cognome,matricola FROM listafisio1 WHERE cognome='$cognome' AND matricola='$matricola';";

    if ((mysql_query($query, $db))==true) die ("Il tuo Cognome e Matricola risultano già iscritti alla lista");
    ______________________________________

    Progresso Web.

  3. #3

  4. #4
    No, non funziona. Blocca anche quelli giusti, cioè non già presenti
    Specifico che lo script che ho scritto sopra è completamente di mia invenzione: per me è sbagliato perchè controlla se la query è stata eseguita, non se ha trovato il match, capite? E la query viene sicuramente eseguita! Il problema è verificare se ha trovato una corrispondenza!

  5. #5
    beh , in effetti dovresti controllare il numero di righe che produce la query come ti spiegava ken84. Se e' > 0 vuol dire che esiste gia' un record.
    ______________________________________

    Progresso Web.

  6. #6
    Originariamente inviato da ken84
    http://it.php.net/manual/it/function.mysql-num-rows.php
    ciao
    Il comando che mi hai indicato dice su quante righe ha trovato il match... è vero che potrei fare in modo che se quel numero (di righe) è maggiore di 0, muoia, però vorrei qualcosa di più specifico.

    E poi è giusto il SELECT così: "WHERE cognome='$cognome' AND matricola='$matricola'" ??

    Grazie

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141

  8. #8
    la select indica che debba trovare i record che abbiano entrambi i dati, cioe' il cognome e la matricola, se e' quello che a te serve.
    ______________________________________

    Progresso Web.

  9. #9
    Originariamente inviato da caruccis
    la select indica che debba trovare i record che abbiano entrambi i dati, cioe' il cognome e la matricola, se e' quello che a te serve.
    A me serve questo:

    Un tizio inserisce il suo cognome ROSSI e la sua matricola 101010

    La query deve "scansionare" tutto il database, alla ricerca di una riga in cui le due "variabili" coesistano, ovvero, vedere se sto ROSSI con matricola 101010 si è gia iscritto...

    Quindi non deve tirare già tutte le righe che hanno i due campi riempi (in questo caso tirerebbe già tutto il db!), ma solo quelle in cui le due varibili sono presenti...

    Mi sono spiegato bene?

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    sooryy...ho sbagliato a postare

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.