Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 42
  1. #1
    Utente bannato
    Registrato dal
    Jan 2005
    Messaggi
    104

    Interrogazione e controllo dati su MySql

    Devo fare un controllo per due campi, user e password, ed ho scritto il seguente codice:

    Codice PHP:
    $q_admin=mysql_query("SELECT * FROM test WHERE username='$username' AND password='$password'"); 

    echo 
    "Bentornato $username!!"

    Dovrebbe controllare che sul db "test" ci siano i valori inseriti nei due campi nelle tabelle "username" e "password", e quindi in caso positivo, mostrarmi il messaggio... invece non lo fa! Perchè?

  2. #2
    Sei gentile....

    dai il welcome senza verificare se e' autorizzato o meno. Ti riferisci al codice postato prima nell'altro post?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente bannato
    Registrato dal
    Jan 2005
    Messaggi
    104
    si, adesso posto il codice intero e cerco di spiegarmi meglio...


    CODICE:

    Codice PHP:
     <?php

    // Connessione al database: presuppone la presenza di una tabella users con un campo nick e un campo password

    $db_host "localhost";

    $db_name "test";

    $db_user "nome";

    $db_pwd "password";

    $conn =  mysql_connect($db_host,$db_user,$db_pwd)
    or die(
    "Connessione al server MySQL fallita. L'errore è ".mysql_error());

    mysql_select_db($db_name)or die("Connessione al database fallita. L'errore è ".mysql_error());


    $username = isset($_POST['username']) ? $_POST['username'] : '';  // Leggo il nome utente inserito nel form

    $password = isset ($_POST['password']) ? $_POST['password'] : ''// Leggo la password inserita nel form


    if (($username!="") && ($password!="")) 

        
    $q_admin=mysql_query("SELECT * FROM user WHERE username='$username' AND password='$password'"); 
        echo 
    "Bentornato $username!!";
    }
    else { 
    // 3N Se no, visualizza un messaggio di errore e invita l'utente a rifare il login

               
    ?>

                Utente o password errati, [url="www.playboy.comn"]riprova[/url]

                <?php

            
    }
    mysql_close($conn);

    ?>

  4. #4
    correggimi se sbaglio, devi controllare se il nick e pass inseriti sono uguali a quelli della tabella??

    allora puoi fare sia così:

    Codice PHP:
    if($_POST['Nick'] == $row['Username'] && $_POST['Password'] == $row['Password']) { echo" Benvenuto $row['Nick']"; } 
    oppure in quest'altro modo più ridotto:
    Codice PHP:
    if (!isset($verified_user)) $verified_user='';
        
    $result=mysql_query("SELECT * FROM test WHERE Username='".$Username."' AND Password='".$Password."'");
               if (
    mysql_num_rows($result)>0) list($verified_user)=mysql_fetch_row($result);
        else 
    $verified_user='';

    if (
    $verified_user != '') { echo"Benvenuto $row['Nick']"
    questo consigliato se devi fare un sistema di login!
    (più ridotto perchè la verifica avviene direttamente nella query )
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  5. #5
    Utente bannato
    Registrato dal
    Jan 2005
    Messaggi
    104
    [supersaibal]Originariamente inviato da Manuelandro
    correggimi se sbaglio, devi controllare se il nick e pass inseriti sono uguali a quelli della tabella??

    allora puoi fare sia così:

    Codice PHP:
    if($_POST['Nick'] == $row['Username'] && $_POST['Password'] == $row['Password']) { echo" Benvenuto $row['Nick']"; } 
    oppure in quest'altro modo più ridotto:
    Codice PHP:
    if (!isset($verified_user)) $verified_user='';
        
    $result=mysql_query("SELECT * FROM test WHERE Username='".$Username."' AND Password='".$Password."'");
               if (
    mysql_num_rows($result)>0) list($verified_user)=mysql_fetch_row($result);
        else 
    $verified_user='';

    if (
    $verified_user != '') { echo"Benvenuto $row['Nick']"
    questo consigliato se devi fare un sistema di login!
    (più ridotto perchè la verifica avviene direttamente nella query ) [/supersaibal]

    mmmmm ho provato, grazie, ma mi da il seguente errore:

    Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\foxserv\www\test\control.php on line 34


    Riposto il codice modificato....


    Codice PHP:
     <?php

    // Connessione al database: presuppone la presenza di una tabella users con un campo nick e un campo password

    $db_host "localhost";

    $db_name "test";

    $db_user "xxxx";

    $db_pwd "xxxxxx";

    $conn =  mysql_connect($db_host,$db_user,$db_pwd)
    or die(
    "Connessione al server MySQL fallita. L'errore è ".mysql_error());

    mysql_select_db($db_name)or die("Connessione al database fallita. L'errore è ".mysql_error());


    $username = isset($_POST['username']) ? $_POST['username'] : '';  // Leggo il nome utente inserito nel form

    $password = isset ($_POST['password']) ? $_POST['password'] : ''// Leggo la password inserita nel form


    if (!isset($verified_user)) $verified_user='';

        
    $result=mysql_query("SELECT * FROM test WHERE username='".$username."' AND password='".$password."'");

               if (
    mysql_num_rows($result)>0)  list($verified_user)=mysql_fetch_row($result);

        else 
    $verified_user='';



    if (
    $verified_user != '') { echo"Benvenuto $row['username']";
    }
    else { 
    // 3N Se no, visualizza un messaggio di errore e invita l'utente a rifare il login

               
    ?>

                Utente o password errati, [url="www.playboy.comn"]riprova[/url]

                <?php

            
    }
    mysql_close($conn);

    ?>


    p.s. la riga 34 è questa: if ($verified_user != '') { echo"Benvenuto $row['username']";

  6. #6
    Uauuu! donna di poche parole... ideale come suocera.

    se noti fai la ricerca sul db, ma poi non verifichi se esiste la tupla che hai cercato. In pratica il semplice fatto che username e password abbiano dentro qualcosa per te va bene.
    codice:
    if (($username!="") && ($password!="")) 
    { 
        $q_admin = mysql_query("SELECT * FROM user 
                                WHERE username = '$username' 
                                AND password = '$password' "); 
    
        $num = mysql_num_rows($q_admin);
              
              if($num == 1 ) {
                  echo "Bentornato $username!!";
              } 
                    else { echo "ciao ciao micio micio";   }
    }


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente bannato
    Registrato dal
    Jan 2005
    Messaggi
    104
    [supersaibal]Originariamente inviato da piero.mac
    Uauuu! donna di poche parole... ideale come suocera.

    se noti fai la ricerca sul db, ma poi non verifichi se esiste la tupla che hai cercato. In pratica il semplice fatto che username e password abbiano dentro qualcosa per te va bene.
    codice:
    if (($username!="") && ($password!="")) 
    { 
        $q_admin = mysql_query("SELECT * FROM user 
                                WHERE username = '$username' 
                                AND password = '$password' "); 
    
        $num = mysql_num_rows($q_admin);
              
              if($num == 1 ) {
                  echo "Bentornato $username!!";
              } 
                    else { echo "ciao ciao micio micio";   }
    }

    [/supersaibal]

    Ho provato anche il tuo codice, grazie, ma mi restituisce in ogni caso una pagina bianca....

  8. #8
    Ps... per entrambi.

    Se in una query di identificazione aspettate 1 tupla in risposta non mettere MAI se righe > 0 .. ma righe == 1.

    Altrimenti i discorsi sulla sicurezza sono palle rotanti.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    [supersaibal]Originariamente inviato da crycry
    Ho provato anche il tuo codice, grazie, ma mi restituisce in ogni caso una pagina bianca.... [/supersaibal]
    Se restituisce pagina bianca non entri nemmeno nella if che fa la query.

    metti dei punti di debug e stampa il contenuto delle variabili.




    ps.: e sopratutto non cambiare lo script tra un post e l'altro... altrimenti perdi tempo tu e lo fai perdere agli altri.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    [supersaibal]Originariamente inviato da piero.mac
    Ps... per entrambi.

    Se in una query di identificazione aspettate 1 tupla in risposta non mettere MAI se righe > 0 .. ma righe == 1.

    Altrimenti i discorsi sulla sicurezza sono palle rotanti.

    [/supersaibal]
    intendi così??
    Codice PHP:
     (mysql_num_rows($result)>0)   ---->  (mysql_num_rows($result)==1
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

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.