Visualizzazione risultati 1 fino 14 di 14

Discussione: come funzione un login?

  1. #1
    Guest

    Angry come funzione un login?

    allora raga io ho creato un form per il login sul mio sito ma non so assolutamente come funzion. una volta creato il form come devo proseguire?

    questo e il form login che ho creato http://youacli.altervista.org

    grazie in anticipo per l'aiuto
    Ultima modifica di youacli : 12-03-2011 alle ore 05.51.35

  2. #2
    Guest

    Predefinito

    io di solito faccio così... dopo il login metto

    Codice PHP:
    if (!emty($_POST['user']) && (!emty($_POST['pass']) &&)
    // user e pass sono i nomi che ho dato agli input text
    // quindi se non sono vuoti invoco la class

    $obj = new login($_POST[pass],$_POST['user'] )
    $obj= login->funzionelogin();


    // dove funzione login è una funzione che si connette al db ed esegue una query del tipo
    // select * from miaTabella Where username = $_post[user] and password = "_post[pass]
    se la query ritorna 0 righe vuol dire che i dati inseriti sono sbagliati... altrimenti creo una sessione per l'utente

    Codice PHP:
    session_start();
    $_SESSION['utente'] = $_post[user];

    spero ti sia utile...
    ps la grafica del tuo sito mi piace molto
    Ultima modifica di musicanapoli : 13-03-2011 alle ore 00.54.50 Motivo: Codice racchiuso tra i tags

  3. #3
    Guest

    Wink

    Citazione Originalmente inviato da stepone Visualizza messaggio
    io di solito faccio così... dopo il login metto

    if (!emty($_POST['user']) && (!emty($_POST['pass']) &&)
    // user e pass sono i nomi che ho dato agli input text
    // quindi se non sono vuoti invoco la class

    $obj = new login($_POST[pass],$_POST['user'] )
    $obj= login->funzionelogin();


    // dove funzione login è una funzione che si connette al db ed esegue una query del tipo
    // select * from miaTabella Where username = $_post[user] and password = "_post[pass]

    se la query ritorna 0 righe vuol dire che i dati inseriti sono sbagliati... altrimenti creo una sessione per l'utente

    session_start();
    $_SESSION['utente'] = $_post[user];


    spero ti sia utile...
    ps la grafica del tuo sito mi piace molto
    grazie mille dell'aiuto adesso provo ma una volta messo questo codice sotto il login dovrebbe funzionare la registrazione? io so che ci vuole un registrazione.php e un utenti.php...il registrazione.php dovrebbe essere la pagina di registrazione e il utenti.php dovrebbe essere un db..non e cosi?

    p.s. sono contento che ti piaccia la grafica

  4. #4
    Guest

    Predefinito

    no il database non centra nulla con la la pagina php...

    però al database ti ci devi connettere sia per effettuare la registrazione per inserirci e salvare i dati, sia per il login per verificare che nel database esista l'utente pippo con password america....

  5. #5
    Guest

    Unhappy

    allora ho messo il codice sotto il login ma non succede nulla forse sbaglio il posto dove metterlo... il mio codice del form login della pagina index e questo

    Codice:
    form action="#" method="post" id="user-login-form"> 
                                            <div><div class="form-item">
                                             <label for="edit-name">Username: <span class="form-required" title="This field is required.">*</span></label>
                                             <input type="text" maxlength="60" name="name" id="edit-name" style="width: 95%;" value=""  />
                                            </div>
                                            <div class="form-item">
                                             <label for="edit-pass">Password: <span class="form-required" title="This field is required.">*</span></label>
                                             <input type="password" name="pass" id="edit-pass"  maxlength="60"  style="width: 95%;" class="form-text required" />
                                            </div>
                                            <span class="art-button-wrapper">
                                            	<span class="l"> </span>
                                            	<span class="r"> </span>
                                            	<input class="art-button" type="submit" name="login" value="Login"/>
                                            </span>
                                            <div class="cleared"></div>
                                            <div><ul><li><a href="#" title="Create a new user account.">Create new account</a></li><li><a href="#" title="Request new password via e-mail.">Request new password</a></li></ul></div>
                                            </div></form>
    dove devo mettere il codice che mi hai dato tu? e come faccio a fare un collegamento con il db? grazie ancora per il disturbo

  6. #6
    Guest

    Predefinito

    scusa la domanda...
    ma tu conosci un po di php?

    cmq se stai usando proprio il codice che ho postato io un paio di avvertimenti:
    1) non stai usando gli stessi nomi che ho dato io ai miei form (es $_post[user], mentre da te l'input per lo username si chiama name)
    2) quel codice l'ho buttato giu veloce quindi a volte mancano i simboli $ per le variabili, o gli apostrofi $_POST['']

    per il resto si dovresti usarlo dopo quel form, e scrivere poi la funzione in php che verifica la correttezza dei dati ed eventualmente crea le sessione...


    ps nel primo post non avevo specificato che in tutte le pagine del tuo sito in cui vuoi che l'utente venga riconosciuto come utente registrato dovrai inserire la forma

    session_start();

  7. #7
    Guest

    Predefinito

    scusami l'ignoranza ma io so moltissimo di html e css ma di php ne se poco e niente... non ti dispiace se posti il codice completo che devo mettere sotto quel form? ti ringrazio infinatemente

  8. #8
    Guest

    Predefinito

    allora:

    sotto al form...

    Codice PHP:
    if (!emty($_POST['user']) && (!emty($_POST['pass'])) {
    // user e pass sono i nomi che ho dato agli input text
    // quindi se non sono vuoti invoco la class

    $obj = new login($_POST['user'] ,$_POST['pass'])
    $obj->funzionelogin();
    }
    funzionelogin() è una funzione che ho definito nella classe login...
    la classe login per farla funzionare devi definirla come:

    Codice PHP:
    include_once("./php_script/connect_db.php");
    // è un'altra classe che includo per gestire la connessione...
    // il codice di questa te lo incollo dopo

    class login {

    // proprietà


    // costruttore
    public function __construct($nome,$pass) {
    $this->name = $nome;
    $this->pass = $pass;
    }

    // metodi

    public function funzionelogin() {
    /* questa funzione verifica le credenziali inserite dall'utente nei moduli di login, e se sono corrette crea una sessione per l'utente riconosciuto */


    $myConn = connectDb::connect();
    $myQuery = "SELECT campousername FROM nometabella WHERE campousername = '$this->name' AND campopassword = '$this->pass";
    $result=$myConn->query($myQuery);
    $row_count = $result->num_rows;

    if (
    $row_count > 0) {
    /* le informazioni inserite sono corrette; quindi avvio una sessione con le informazioni dell'utente. */
    $_SESSION['utente'] = $this->name;


    else {
    /* Username o Password sono errati. Effettuo il redirect alla Homepage. */
    header("Location: http://www.stepone.altervista.org/");
    }
    }
    }

    la classe connectDb è quella che si connette al database... dovrai inserirci le tue credenziali:


    Codice PHP:
    class connectDb {

    // proprietà
    private $host, $root, $pw, $dbName;


    // metodi

    public function connect() {
    /* questa funzione effettua la connessione al database */

    $host = '';
    $root = ''; // in tutti questi ci metti i tuoi dati
    $pw = '';
    $dbName = '';
    $mysqli = new mysqli($host, $root, $pw, $dbName);

    if (
    $mysqli->connect_error) {
    die(
    'Connect Error ('.$mysqli->connect_errno.')'.$mysqli->connect_error);
    }
    else {
    return
    $mysqli;
    }

    }

    }

    poi in ogni pagina in cui vuoi che un utente se registrato venga riconosciuto scrivi
    <?php session_start(); ?>

    questo credo sia tutto...
    mi sorge solo una domanda... non conoscendo il php come hai fatto a far registrare gli utenti?
    è chiaro che se primi non registri gli utenti, salvando username e password in un db il login non funzionerà mai
    Ultima modifica di stepone : 13-03-2011 alle ore 12.21.21

  9. #9
    Guest

    Talking

    ancora non si e registrato nessuno devo fa funzionare il login per poterlo fare cmq adesso provo il codice che mi hai dato vediamo se va grazie i tutto

  10. #10
    Guest

    Predefinito

    registra tu qualche account per fare le prove...
    e comunque il funzionamento del form di registrazione è completamente indipendente da quello del login

    questo è il codice che uso io... e non dovrebbero esserci problemi perchè a me funziona... cmq se ti serve ancora qualcosa siamo qui

  11. #11
    Guest

    Predefinito

    ti ringrazio infitamente dell'aiuto ma non so prorpio come incorporare il tutto ci ho provato in tutti i modi se ti mando per mess privato username e pass del sito mi sistemeresti tu il login? te lo chiedo per favore grazie mille

  12. #12
    Guest

    Predefinito

    io ti aiuto volentieri...

    ma con username e password non ci faccio nulla... se non funzionano a te

    ma tu sei mai entrato con phpmyadmin nel tuo database? hai verificato che la registrazione sia andata come tu ti aspetti...
    come hai chiamato la tabella ed i campi?

    hai inserito ad inizio pagina
    (di tutte le pagine in cui l'utente loggato vuoi venga riconosciuto come tale)
    <?php session_start(); ?> ???

    per avere conferma dell'avvenuto login io si solito la cosa la gestisco così..
    te lo scrivo in pseudo codice
    Codice PHP:

    if(isset($_SESSION['user'])) {
    echo
    "Benvenuto ". $_SESSION['user'];
    }
    else {
    // con gli echo inserisco tutti i form
    // esempio
    echo "<form action='..........' ";
    ........
    echo
    "</form>";
    }

    comunque nel precedente codice che ho inserito l'unica cosa che c'è da modificare è il nome della tabella, e dei campi... e poi inserire gli include con i percorsi giusti per quelle che sono le tue directory
    Ultima modifica di stepone : 15-03-2011 alle ore 08.32.32

  13. #13
    Guest

    Predefinito

    <?php session_start(); ?> l'ho messo in tutte le pagine ma il mio problema e nel fare i collegamenti con il form e le pagine in php io tutto il sito l'ho strutturato in html tutte le pagine le ho scritte in html infatti anche per il semplice form dell'e-mail a pagina contatti il codice php l'ho racchiuso tra i tag <table>codice php</table> se hai skype me lo daresti in modo tale che ti chiamo e chiariamo questa cosa? anche perche come dicevo nei messaggi precendenti e un sito molto importante che riguarda tutta la citta e provincia di dove abito. ti ringrazio ulteriormente per tutto l'aiuto

  14. #14
    Guest

    Predefinito

    ciao...
    scusa ma proprio ora mi è venuta in mente una domanda stupida da porti...

    ma le tue pagine, quelle in cui inserisci lo script php, che estensione hanno?
    lo sai vero che qui su altervista per poter far girare gli script php li devi inserire per forza in pagine .php

Tags for this Thread

Regole di scrittura

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