Visualizzazione risultati 1 fino 13 di 13

Discussione: [Aiuto Script] Login Php/MySQL , errore SQL sintax

  1. #1
    Guest

    Predefinito [Aiuto Script] Login Php/MySQL , errore SQL sintax

    Ciao , ho creato un piccolo login con php , purtroppo , quando inserisco nome e password , mi da errore ^^, io posto qui sotto tutto , qualcuno di voi potrebe aiutarmi ??
    Pagina LOGIN.PHP
    Codice PHP:
    <?
    //pagina LOGIN.PHP
    session_start();
    include
    "inc/config.inc.php";

    //DISTRUZIONE DELLA VECCHIA SESSIONE
    if ($_SESSION[USERNAME] != ''){

    session_unset();
    session_destroy();
    }
    else {}
    //FINE DISTRUZIONE DELLA VECCHIA SESSIONE

    ?>
    <form name="form1" method="post" action="do_login.inc.php">
    <div align="center">LOGIN<br>
    <br>
    Nome :
    <input name="USERNAME" type="text" id="USERNAME" size="15">
    <br>
    Password :
    <input name="PASS" type="password" id="PASS" size="15">
    <br>
    <input type="submit" name="Submit" value="Invia">
    <input type="submit" name="Submit" value="Registrati">
    </div>
    </form>
    pagina DO_LOGIN.PHP
    Codice PHP:
    <?PHP
    //pagina DO_LOGIN.PHP

    include "inc/config.inc.php";

    $USERNAME=$_POST['USERNAME'];
    $PASS=$_POST['PASS'];

    $sql = "SELECT USERS.ID_USER,USERS.USERNAME,USERS.PASS
    WHERE USERNAME = '
    $USERNAME' AND PASS = '$PASS'";
    $conteggio = mysql_query($sql,$connessione)or die(mysql_error());
    $num = mysql_num_rows($conteggio);

    //Dati di login corretti
    if ($num == 1)
    while(
    $ROW = mysql_fetch_array($conteggio))
    {
    //DATI GENERALI DEL PG
    $ID_USER=$ROW["ID_USER"];
    $USERNAME=$ROW["USERNAME"];
    $PASS=$ROW["PASS"];

    //*************sessione*****************
    session_start();
    session_unset();
    session_destroy();
    session_start();
    $_SESSION['ID_USER']=$ID_USER;
    $_SESSION['USERNAME']=$USERNAME;
    $_SESSION['PASS']=$PASS;
    }
    //*************sessione*****************

    //Dati di login sbagliati
    else($num == 0);
    {
    echo
    "<div align=center>Accesso non consentito.<br>I dati inseriti non sono corretti.</div>";
    echo
    "<br>";
    echo
    "<br>";
    echo
    "<div align=center><a href='index.php' class='standard'>Torna alla pagina iniziale</a></div>";
    }
    @
    mysql_close ($connessione);
    ?>
    Ed ecco l'errore che mi da :
    Codice:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE USERNAME = 'pinco_nome AND PASS = 'pinco_password'' at line 2
    Tanto per postare anche la tabellka SQL che ho creato :
    Codice:
     -- 
    -- Struttura della tabella `USERS`
    -- 
    
    CREATE TABLE IF NOT EXISTS `USERS` (
      `ID_USER` bigint(20) NOT NULL auto_increment,
      `USERNAME` varchar(20) default NULL,
      `PASS` varchar(20) default NULL,
      PRIMARY KEY  (`ID_USER`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
    
    -- 
    -- Dump dei dati per la tabella `USERS`
    -- 
    
    INSERT INTO `USERS` VALUES (1, 'Maca', '000000');
    Grazie infinite a chi mi aiuti ^^
    Ultima modifica di comunitavirtuali : 19-10-2005 alle ore 19.06.46

  2. #2
    Guest

    Predefinito

    ma quale errore ti da? ci dai il "responso" del browser?

  3. #3
    Guest

    Predefinito

    prova a fare:

    Codice PHP:
    $sql = ". . . WHERE USERS.USERNAME = '$username' AND USERS.PASSWORD = '$password' . . ."

  4. #4
    Guest

    Predefinito

    scusa ma qual'è il senso di creare una sessione, distruggerla subito dopo e ricrearne una nuova

  5. #5
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE USERNAME = 'pinco_nome AND PASS = 'pinco_password'' at line 2
    Non chiudi l'apice aperto prima di pinco_nome e lo chiudi due volte per pinco_password.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  6. #6
    Ospite Guest

    Predefinito

    Non lo chiude due volte, il secondo lo aggiunge mysql_error e chiude il pezzettino di query sbagliata, se guardi ce n'è uno anche all'inizio...

  7. #7
    Guest

    Predefinito

    Qualcuno mi può dire cosa correggere ?? ^_^

  8. #8
    Guest

    Predefinito

    prova a mettere ' dopo pinco_nome, come ti ha detto funcool

  9. #9
    L'avatar di twisterdark
    twisterdark non è connesso Moderatore
    Data registrazione
    17-11-2002
    Residenza
    Hong Kong
    Messaggi
    3,226

    Predefinito

    Citazione Originalmente inviato da jostock
    prova a fare:

    Codice PHP:
    $sql = ". . . WHERE USERS.USERNAME = '$username' AND USERS.PASSWORD = '$password' . . ."
    Concordo sul povare questa tecnica, anche se non dovrebbe dare problemi...perchè di USERNAME ce n'è una sola.
    Per quando riguarda il doppio apice dopo pinco_password e la mancanza in precedenza, quella è nella segnalazione errori: quindi o ci hai postato una pagina che hai corretto in seguito o hai copiato male l'errore...altrimenti non mi spiego gli apici storti se nella pagina sorgente sono in ordine ^^


    -------------------------------------------------------------------------------------------------------------------------------------
    Un moderatore per gestirli, un moderatore per guidarli, un moderatore per sgridarli e nel buio anche bannarli...

    ------------------------------------------------------------------------------------------------------------------------------------------

  10. #10
    Guest

    Predefinito

    Nun va ancora , cmq , potrebbe per caso dipendere dalla versione di PhPMyAdmin ??
    Potreste provare in locale il codice e cercare l'errore ^_^ ? Grazie , son 3 giorni che non trovo risultato ...

  11. #11
    Guest

    Predefinito

    no, non è una questione di phpmyadmin.... phpmyadmin ti permette di amministrare i tuoi database mysql.... ma il mysql è un linguaggio di programmazione, e non varia di versione in versione...

  12. #12
    L'avatar di twisterdark
    twisterdark non è connesso Moderatore
    Data registrazione
    17-11-2002
    Residenza
    Hong Kong
    Messaggi
    3,226

    Predefinito

    Se posso lo provo in locale stanotte e ti faccio sapere...se il mio server parte :)


    -------------------------------------------------------------------------------------------------------------------------------------
    Un moderatore per gestirli, un moderatore per guidarli, un moderatore per sgridarli e nel buio anche bannarli...

    ------------------------------------------------------------------------------------------------------------------------------------------

  13. #13
    Guest

    Predefinito

    Grazie ^__^

Regole di scrittura

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