Visualizzazione risultati 1 fino 6 di 6

Discussione: Controllo doppi campi nel database..

  1. #1
    Skorpio non è connesso Utente giovane
    Data registrazione
    30-03-2002
    Messaggi
    84

    Predefinito

    Stò cercando di fare un controllo su una registrazione, e questo controlla che due persone non abbiano lo stesso user name, solo che non riesco a capire perchè questo non mi funziona:

    Codice PHP:
    $ceck_user = mysql_query(\"select user from Membri\");
    if (
    $ceck_user == $user) {
    print \"<center>Spiacenti ma l\'user scelto è già presente nel nostro Database, tornare indietro e provare con un altro. Grazie</center>\";
    exit;
    }
    Potete vedere voi e dirmi cos\'è che sbaglio? :(
    Grazie ciao
    Skorpio

  2. #2
    Guest

    Predefinito

    inatano non devi usrare [php] ma <?php
    ma questo penso che lo sai.

    per risolvere il tuo problema io non ti consiglio di fare controlli col php sullo stile che hai fatto tu, ma di fare controlli col mysql;
    mi spiego meglio qualdo crei una tabella puoi scegliere alcune opzioni una di queste è unique, con questa opzione dici al DB di non scrivere due righe uguali.
    es
    se definisci unique il campo nome non ci saranno nel db 2 riche con il campo nome uguale, quindi non ci saranno due utenti che si chiamano allo stesso modo.

    se definisci unique i campi nome e cognome non ci saranno nel db 2 righe con stesso nome e stesso cognome, naturalmente ci potranno essere righe con nomi uguali e cognomi diversi e viceversa.

    fammi sapere se non ti è chiaro

  3. #3
    Guest

    Predefinito

    Stò cercando di fare un controllo su una registrazione, e questo controlla che due persone non abbiano lo stesso user name, solo che non riesco a capire perchè questo non mi funziona:

    Codice PHP:
    $ceck_user = mysql_query(\"select user from Membri\";
    if (
    $ceck_user == $user) {
    print \"<center>Spiacenti ma l\'user scelto è già presente nel nostro Database, tornare indietro e provare con un altro. Grazie</center>\";
    exit;
    }
    Potete vedere voi e dirmi cos\'è che sbaglio?
    Grazie ciao

    Perchè usi le parentesi quadre?

    <?php
    $ceck_user = mysql_query(\"select user from Membri\";
    if ($ceck_user == $user) {
    print \"<center>Spiacenti ma l\'user scelto è già presente nel nostro Database, tornare indietro e provare con un altro. Grazie</center>\";
    exit;
    }
    ?>

    prova così

    Ciao Paolo

  4. #4
    Skorpio non è connesso Utente giovane
    Data registrazione
    30-03-2002
    Messaggi
    84

    Predefinito

    No pensavo che usando questo codice il forum formattasse il codice php...
    Se conoscete i forum di html.it capite...

    Per Dweb : Quello è il codice che ho fatto io e che non mi funziona....


    Per venico: Spiegami meglio...
    Cioè devo settare proprio il db da phpmyadmin???
    E poi come faccio a settare il messaggio di errore?
    Grazie ciao
    Skorpio

  5. #5
    Guest

    Predefinito

    si devi settare il DB, per il messaggio di errore lo vedi dal valore che ritorna la funzione...

  6. #6
    Sparrow non è connesso Utente giovane
    Data registrazione
    12-11-2002
    Residenza
    Bologna
    Messaggi
    57

    Predefinito

    Dweb ha ragione: se puoi far fare al DBMS i controlli, faglieli fare a lui: così puoi limitarti a gestire gli errori...

    Per quanto riguarda il codice php... mmmhh...

    Se non vado errato è la query che non mi sfagiola molto:

    \'select user from Membri\'

    ti restituisce tutti i record, mentre a te basta controllare se ci sono record col campo user già valorizzato in quel modo. Prova con:

    \"select user from Membri WHERE user = \'\" . $user . \"\'\"

    A questo punto basta controllare che il recordset restituito sia vuoto...

    (spero di non aver fatto casino col codice, sono un po\' arrugginito)
    Sparrow

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •