Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: query malvagia

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    10

    query malvagia

    Mi sapreste dire cosa c'è di sbagliato in questa query?
    codice:
    $sql = @mysql_query("SELECT password FROM utenti WHERE   nome=" . '$_post['user'] . "'", $db);
    sto provando a farla funzionare da tempo, ma niente. a seguire il codice per intero. mi sono assicurato che il database è popolato, i parametri di connessione sono giusti... ma cosa sbaglio? quando provo a connettermi, mi da il link come se avessi effettivamente effettuato il login ma non installa il cookie... pure se sbaglio volontariamente password javascript:smilie('')
    Piango non succedete esattamente niente
    codice:
    <html>
    <body vlink="black">
    <?php
    $username="nick";
    $password="*********";
    $host="localhost";
    $database="my_nick";
     $db=mysql_connect($host, $username, $password) or die("Errore durante la connessione al database");
     $select_db=mysql_select_db($database, $db) or die("Errore durante la selezione del database");
    
    if(isset($_POST['invio'])){
     $sql = @mysql_query("SELECT password FROM utenti WHERE   nome=" . '$_post['user'] . "'", $db);
     if($_post['pass']==$sql){
      setcookie("nome", $_post['user'], time()+100000000000000);
      ?>
      <table align="center">
      <tr>
      <td>Grazie, ti sei connesso!</td>
      </tr>
      </table>
      <?php
     }else{
      echo"Nome o password errati!";
     }
    }else{
    echo"Devi compilare il modulo del login!";
    }
    ?>
    </body>
    </html>

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    10
    non so se è importante, ma forse dovrei impostare il campo nome come chiave primaria?

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    se fai così:
    codice:
    $sql = @mysql_query("SELECT password FROM utenti WHERE nome=" .'$_post['user']."'", $db) or die("Errore: ".mysql_error());
    ti restituisce qualche errore?Se sì, quale?

    Ciao

  4. #4
    il problema è che non ti entra sia nell'if che nell'else? hai provato a verificare che la query sia corretta? non hai usato la notazione dell'errore? almeno in fase di debug togli quelle @ che nascondono gli warning...

    Prova ad eseguire così la query:

    codice:
    $sql = mysql_query("SELECT password FROM utenti WHERE nome=" .'$_post['user']."'", $db) or die("Errore: ".mysql_error());

    ricevi qualche errore?




    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  5. #5
    Originariamente inviato da ken84
    ...

    mi hai preceduto
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  6. #6
    così ad occhio e croce comunque hai sbagliato l'uso degli apici...così è corretta:

    codice:
    $sql = mysql_query("SELECT password FROM utenti WHERE nome='" .$_POST['user']."'", $db) or die("Errore: ".mysql_error());
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    10
    grazie che siete accorsi
    non mi restituisce alcun tipo di errore, e quel @ l'avevo messo oggi. ora porvo a toglierlo e a seguire gli altri suggerimento

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    10
    se prima mi dava password o nome sempre giusti, adesso sempre sbagliati...
    ma in compenso, posso dedurre la natura dell'errore: quel messaggio viene visualizzato se il valore immesso come password non corrisponde a quello selezionato dalla query, cioè il campo password corrispondente al nome immenso. se mi da errore, i motivi sono due:
    1) la password del nick è sbagliata
    2) il nick per la password è sbagliato
    e visto che password e nick sono giusti...

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    10
    allora? niente suggerimenti?

  10. #10
    Utente di HTML.it L'avatar di giacomino_jack
    Registrato dal
    Feb 2002
    residenza
    Italy
    Messaggi
    202
    Visualizza con un echo il testo della query che mandi in pasto a mysql.

    Poi prova a copiarla ed eseguila direttamente in mysql (ad esempio con phpmyadmin )

    Almeno riesci a determinare se la query ti ritorna o non un record (piu' di uno...)

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.