Visualizzazione risultati 1 fino 3 di 3

Discussione: Individuare valore non presente nel database

  1. #1
    Guest

    Exclamation Individuare valore non presente nel database

    Salve a tutti, avrei bisogno di una mano..
    Premetto che mi sono avvicinato da poco al linguaggio PHP e Mysql, quindi vi prego di essere il più chiari possibile..
    Allora la situazione è questa: Ho creato uno script con il cui è possibile modificare il valore del campo "grado" nel database mysql, inserendo in un input il nickname dell'utente al quale deve esser modificato il grado, e con un select, si sceglie quale grado assegnargli. Per fare ciò ho usato 2 pagine, una in html (la struttura) e una in php (che elabora i dati scelti):

    Codice HTML:
    <html>
    <body>
    <form action="pagina.php" method="post">
    <input type="text" name="utentescelto"/>
    <select name="gradoscelto">
    <option value="Amministratore">Amministratore</option>
    <option value="Moderatore">Moderatore</option>
    </select>
    <input type="submit" />
    </form>
    </body>
    </html>
    ..e una che è l'elaborazione in php:
    Codice PHP:
    <?php
    $utentescelto
    = $_POST['utentescelto'];
    $gradoscelto = $_POST['gradoscelto'];
    //codici di connessione al database
    $sql = "UPDATE tabella SET grado='$gradoscelto' WHERE idut='$utentescelto'";
    $query = mysql_query($sql);
    echo
    "Hai promosso l'utente " . $utentescelto . " al grado di " . $gradoscelto;
    ?>
    Fino a qui è tutto ok, funziona tutto correttamente, il problema è che vorrei fare che se viene digitato un nickname, non presente nel database, non esegua la query di modifica del grado e mi dia un die(); avvertendomi che non esiste quel nick nel database... come posso fare?
    Grazie in anticipo
    Ultima modifica di dreadnaut : 16-05-2011 alle ore 14.02.27 Motivo: +tag [html]

  2. #2
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Semplice, per controllare se un'utente esiste si controlla il numero di righe prodotto da una determinata query, esempio questa:

    Codice:
    SELECT * FROM tabella_utenti WHERE username = username_che_vuoi_modificare
    Se questa query, dopo l'esecuzione con mysql_query(), non produce nessun record, puoi controllare il numero di record che la query produce attraverso la funzione mysql_num_rows(), se in questo caso il valore della funzione ritorna 0 vuol dire che non ha trovato nessun utente con quel username.

    Non so se mi sono spiegato bene, ma il codice sarebbe questo:

    Codice PHP:
    $sql = "SELECT * FROM tabella_utenti WHERE username = username_da_controllare";
    $query = mysql_query($sql);

    // Controllo se l'esecuzione della query ha prodotto dei risultati
    if (mysql_num_rows($query) == 0) {
    exit()
    // Se non ha prodotto risultati esco
    }else {
    // Altrimenti eseguo l'upgrade del grado dell'utente.
    }
    P.S.: Occhio che il tuo script, cosi come, può essere eseguito da tutti, non credo che te voglia che tutti, se ovviamente trovano il link che porta allo script, che possano modificare il grado di qualunque utente, o il loro.
    Ultima modifica di sevenjeak : 14-05-2011 alle ore 08.27.12

    Sevenjeak
    Software developer and much more

  3. #3
    Guest

    Predefinito

    Sisi ovvio, poi faccio dei controlli, per rendere lo script visibile solo a determinati utenti iscritti, grazie, ottimo aiuto, tutto risolto ;)

Regole di scrittura

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