Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente bannato
    Registrato dal
    Jul 2003
    Messaggi
    328

    Controllo due elementi presenti in tabella

    Salve!
    ho questo codce che in teoria dovrebbe entrare nella tabella registrazioni e controllare se gli elementi username e password esistono (naturalmente in contemporanea e sullo stesso ID)

    ho provato a fare così a non ne esce nulla (anzi, utente sempre registrato -> che bello per il mio sito! )

    Codice PHP:
    <?
    if (isset($_POST['invia']) AND $_POST['invia'] == 'INVIA') {
      
    //passaggio valori dei campi username e password
      
    $user=$_POST['username'];
      
    $pass=$_POST['password'];

      
    $controllo "SELECT * FROM registrazioni WHERE username LIKE '$user' AND password LIKE '$pass'";
       
    //controllo del risultato della selezione precedente
       
    if ($controllo) {
         
    //se presente
         
    echo "

    Utente Registrato</p>"
    ;
       } else {
         
    //se nun ce sta...
         
    echo "

    Utente non Registrato</p>"
    ;
       }
    }
    ?>
    cosa devo modificare?

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    devi eseguire la query con mysql_query
    think simple think ringo

  3. #3
    Utente bannato
    Registrato dal
    Jul 2003
    Messaggi
    328
    Codice PHP:
    <?
    if (isset($_POST['invia']) AND $_POST['invia'] == 'INVIA') {
      
    $user=$_POST['username'];
      
    $pass=$_POST['password'];
      
    $titolo=$_POST['titolo'];
      
    $domanda=$_POST['domanda'];
      
    $controllo "SELECT * FROM registrazioni WHERE user LIKE '$user' AND password LIKE '$pass'";
      
    $controllo mysql_query($controllo) or die(mysql_error()); 
       if (
    $controllo) {
         echo 
    "

    Utente Registrato</p>"
    ;
       } else {
         echo 
    "

    Utente non Registrato</p>"
    ;
       }
    }
    ?>
    ora ho fatto così, ma sempre utente registrato....

  4. #4
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    prova così
    Codice PHP:
    <?
    if (isset($_POST['invia']) AND $_POST['invia'] == 'INVIA') {
      
    $user=$_POST['username'];
      
    $pass=$_POST['password'];
      
    $titolo=$_POST['titolo'];
      
    $domanda=$_POST['domanda'];
      
    $controllo "SELECT * FROM registrazioni WHERE user LIKE '$user' AND password LIKE '$pass'";
      
    $controllo mysql_num_rows(mysql_query($controllo) or die(mysql_error())); 
       if (
    $controllo) {
         echo 
    "

    Utente Registrato</p>"
    ;
       } else {
         echo 
    "

    Utente non Registrato</p>"
    ;
       }
    }
    ?>

  5. #5
    Utente bannato
    Registrato dal
    Jul 2003
    Messaggi
    328
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource.........

    nella righa

    $controllo = mysql_num_rows(mysql_query($controllo) or die(mysql_error()));

    cosa è?

  6. #6
    Il tuo problema precedente era che verificavi se era vero $controllo. A parte il fatto che sarebbe meglio utilizzare un nome diverso, per chiarezza, dal nome della query, devi considerare che l'identificativo di risorsa e' sempre true anche se zero le righe estratte. Sara' false solo in caso di errore di query.

    Dovresti contare le righe estratte, come implicitamente suggerito da
    VaLvOnAuTa


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

  7. #7
    Utente bannato
    Registrato dal
    Jul 2003
    Messaggi
    328
    Originariamente inviato da piero.mac
    Il tuo problema precedente era che verificavi se era vero $controllo. A parte il fatto che sarebbe meglio utilizzare un nome diverso, per chiarezza, dal nome della query, devi considerare che l'identificativo di risorsa e' sempre true anche se zero le righe estratte. Sara' false solo in caso di errore di query.

    Dovresti contare le righe estratte, come implicitamente suggerito da
    VaLvOnAuTa

    ho capito cosa intendi, ma non riesco a farlo...

    puoi autarmi?

  8. #8
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Ops non avevo notato il conflitto di variabili
    Codice PHP:
    <?
    if (isset($_POST['invia']) AND $_POST['invia'] == 'INVIA') {
      
    $user=$_POST['username'];
      
    $pass=$_POST['password'];
      
    $titolo=$_POST['titolo'];
      
    $domanda=$_POST['domanda'];
      
    $query "SELECT * FROM registrazioni WHERE user LIKE '$user' AND password LIKE '$pass'";
      
    $controllo mysql_num_rows(mysql_query($query) or die(mysql_error())); 
       if (
    $controllo) {
         echo 
    "

    Utente Registrato</p>"
    ;
       } else {
         echo 
    "

    Utente non Registrato</p>"
    ;
       }
    }
    ?>

  9. #9
    Originariamente inviato da srgw
    ho capito cosa intendi, ma non riesco a farlo...

    puoi autarmi?
    Codice PHP:
    <?
    if (isset($_POST['invia']) AND $_POST['invia'] == 'INVIA') {
      
    $user=$_POST['username'];
      
    $pass=$_POST['password'];
      
    $titolo=$_POST['titolo'];
      
    $domanda=$_POST['domanda'];
      
    $query "SELECT * FROM registrazioni WHERE user = '$user' AND password = '$pass'";

      
    $controllo mysql_query($query) or die(mysql_error());

      
    $num mysql_num_rows($controllo);
     
       if (
    $num == 1) {
         echo 
    "

    Utente Registrato</p>"
    ;
       } else {
         echo 
    "

    Utente non Registrato</p>"
    ;
       }
    }
    ?>
    Ho cambiato like in = , non si puo' ammettere simile, deve essere uguale. Poi ho esteso la conta dei record perche' sia piu' chiara.



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

  10. #10
    Utente bannato
    Registrato dal
    Jul 2003
    Messaggi
    328
    ho modificato ma non cambia nulla....

    sempre Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource ........ e smpre in quella riga....( $controllo = mysql_num_rows(mysql_query($query) or die(mysql_error())); )

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 © 2024 vBulletin Solutions, Inc. All rights reserved.