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

Discussione: Script per login

  1. #1
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026

    Script per login

    Salve.
    Sto provando a fare una pagina php per fare il login, prelevando l'username e la password da un database.
    Solo che sto provando a seguire le indicazioni di un libro, ma niente da fare.
    A parte che sui libro quando ti spiegano qualcosa devi saltare da un capitolo all'altro e anche in maniera poco logica, poi ti riempiono di attenzione per recuperare vari errori, che francamente è una cosa che si può fare in un secondo momento.
    Quello che volevo, se qualcuno sa dove si può scaricare un codice semplice, che faccia il login con la relativa sessione utilizzando una tabella database, per vedere se esiste e se c'è, ovviamente iniziare una nuova sessione a favore di quel utente.
    Grazie.

  2. #2
    ciao, cercando qui sul network di html.it ho trovato tutto questo:

    http://cerca.html.it/h.sl?us=fs&q=se...t=&trova=Trova

    se parti dalla guida "Breve introduzione alle sessioni in PHP" penso tu possa avere una buona introduzione all'argomento

  3. #3
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Sto provando questo:
    codice:
    <?php
    // inclusione del file contenente la classe
    include "config_db.php";
    // istanza della classe
    $data = new MysqlClass();
    // chiamata alla funzione di connessione
    $data->connetti();
    mysql_select_db('anagrafica', $data);
    
    if (isset($_POST['user']))
      {
      $query_login="SELECT * FROM tabella_utenti
                    WHERE usr='".filtra_caratteri_dannosi($_POST['user'])."'
                    AND pwd='".md5($_POST['pwd'])."'" or die ("Error: ".mysql_error());
      $rslt_login=$mysqlwrapper->Execute($query_login) or die("Errore di autenticazione. ");
     
      if (!$rslt_login->EOF)
        {
        // Esiste un record con questi username più(firma)password:
        // inserisco i dati nella sessione
        session_start();
        $_SESSION['Username']=$rslt_login->Fields('usr');
        $_SESSION['Usergroup']=$rslt_login->Fields('group');
        header('location:main.php');
        }
       else header('location:login_failed.php');
      }
    ?>
     
    <html>
    <head>
    <title>Esempio login</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
     
    <body onLoad="document.form1.user.focus()">
    <form name="form1" method="POST" action="index.php">
      <table border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td>Nome utente: </td>
          <td><input name="user" type="text" id="user"></td>
        </tr>
        <tr>
          <td>Password: </td>
          <td><input name="pwd" type="password" id="pwd"></td>
        </tr>
        <tr>
          <td colspan="2"><input name="Submit" type="submit" value="Entra"></td>
        </tr>
      </table>
    </form>
    </body>
    </html>
    un codice che ho trovato su http://php.html.it/guide/lezione/299...ne-in-pratica/
    solo che mi rimanda indifferentemente alla index senza controllare se esista o non il data base.
    Nella pagina del login mi procura questo warning:
    codice:
    Warning: mysql_select_db() expects parameter 2 to be resource, object given in C:\Xampp_7\xampp\htdocs\login\login2.php on line 9
    per quanto riguarda la classe della connessione:
    codice:
    <?php
    class MysqlClass
    {
      // parametri per la connessione al database
      private $nomehost = "localhost";    
      private $nomeuser = "root";         
      private $password = "";
              
      // controllo sulle connessioni attive
      private $attiva = false;
     
      // funzione per la connessione a MySQL
      public function connetti()
      {
       if(!$this->attiva)
       {
        $connessione = mysql_connect($this->nomehost,$this->nomeuser,$this->password);
           }else{
            return true;
           }
        }
    }      
    ?>

  4. #4
    Utente di HTML.it L'avatar di zoseppe
    Registrato dal
    Jan 2005
    Messaggi
    306
    prova a cambiare:
    codice:
    $data->connetti();
    mysql_select_db('anagrafica', $data);
    in:
    codice:
    $data->connetti();
    mysql_select_db('anagrafica');

  5. #5
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Ho cambiato, ed ho risolto il problema del warning. Grazie.
    Adesso però mi genera questi due messaggi:
    codice:
    Notice: Undefined variable: mysqlwrapper in C:\Xampp_7\xampp\htdocs\login\index.php on line 16
    
    Fatal error: Call to a member function Execute() on a non-object in C:\Xampp_7\xampp\htdocs\login\index.php on line 16

  6. #6
    Perdonami, ma siete capaci solo di fare copia e incolla senza un minimo di capacità analitica del codice???

    L'errore è pienamente esplicativo:

    Notice: Undefined variable: mysqlwrapper in C:\Xampp_7\xampp\htdocs\login\index.php on line 16

    Dov'è che dichiari $mysqlwrapper???
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Si l'ho già capito satifal, solo che essendo alle prime armi non so come dichiarare, oppure se devo importare una classe per poi fare il riferimento.
    Allora dimmi satifal come si fa?

  8. #8
    Rimanendo serio questa volta...come faccio a saperlo io? Sei tu sche stai scrivendo/copiando il codice. Cosa dovrebbe essere quel $mysqlwrapper?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  9. #9
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Scusa satifal, hai un tuo esempio oppure, sai dove posso trovare un esempio di questo oggetto mysqlwrapper. Anche se so che potrebbe centrare poco con quello che sto facendo, solo per avere una linea guida. Tutto qui.

  10. #10
    Utente di HTML.it L'avatar di zoseppe
    Registrato dal
    Jan 2005
    Messaggi
    306
    ...i problemi che stai riscontrando dipendono dall'utilizzo della classe per la connessione al database, diciamo che non "c'entrano" con l'argomento "script di login". Per questa ragione, per cercare di farti partire subito, ti ho fatto cancellare il secondo parametro di mysql_select_db. Detto questo, visto che la classe l'hai istanziata con una variabile che si chiama $data, per accedere ai metodi di questa classe devi continuare a usare l'istanza $data...sinceramente non so da dove arrivi ne capisco il significato ( e spero che il caldo non mi stia annebbiando il cervello ) della variabile $mysqlwrapper.
    Insomma visto il codice che hai postato mi verrebbe da dire che:

    $rslt_login=$mysqlwrapper->Execute($query_login)

    dovrebbe essere in realtà:

    $rslt_login=$data->Execute($query_login)

    spero di esserti stato d'aiuto

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.