Pagina 1 di 6 12345 ... UltimaUltima
Risultati da 1 a 10 di 55

Discussione: Problema con login e password

  1. #1
    paperinik4 è offline Forumista DOC
    Data Registrazione
    May 2011
    Messaggi
    1,178

    Problema con login e password

    Salve a tutti,

    Dovrei creare un accesso con estrazione dei dati dal db, chiamato utenti. E poi effettuare il login. Inserendo username e Password. Visualizzando possibilmente, il benvenuto pinco pallino (ossia il nome). Chi mi puó aiutare per favore ????

  2. #2
    L'avatar di criric
    criric è offline Moderatore
    Data Registrazione
    Aug 2010
    Località
    TN
    Messaggi
    2,366
    ti linko questa discussione perche il succo è lo stesso

    http://forum.mrwebmaster.it/php/3080...tml#post115594

  3. #3
    L'avatar di criric
    criric è offline Moderatore
    Data Registrazione
    Aug 2010
    Località
    TN
    Messaggi
    2,366
    Ciao,
    prova a leggere anche questa discussione

    http://forum.mrwebmaster.it/php/2882...li-logout.html

    e posta un po di codice

  4. #4
    paperinik4 è offline Forumista DOC
    Data Registrazione
    May 2011
    Messaggi
    1,178

    Ciao

    Ciao Cricric,

    Io ho dei codici ma sono incompleti e non funzionanti per il nuovo sito che sto cercando di fare. A parte la pagina d'iscrizione, che quello funziona perfettamente. Il problema principale, secondo me, è che il sistema non riconosce la password e non il motivo. Ho trovato un vecchio esempio che ti posto qua. Considera, che il nuovo db è a livelli, ossia, c'è un campo chiamato autorizzato = 0 e 1 corrisponde a non autorizzato. Ora ti posto quello che ho sperando di cercare di capire come potrlo modificare e renderlo funzionante.

    Tabella utenti:

    Codice PHP:

    create table utenti 
    (

    id         INT UNSIGNED NOT NULL AUTO_INCREMENT,
    nome         VARCHAR(30NOT NULL,
    cognome     VARCHAR(30NOT NULL,
    username     VARCHAR(30NOT NULL,
    email           VARCHAR(40NOT NULL,
    password        VARCHAR(255NOT NULL,
    autorizzato     ENUM('0''1') DEFAULT '0',
    PRIMARY KEY (id)
    ); 
    Suggeritami da borgo l'ultima voce. Se sono maggiorenni compoarirà il nome e cognome, se sono minorenni comparirà solo lo username.

    Questo è il vecchio codice che adoperavo all'inizio, che sicuramente va modificato, l'ho chiamata provasessione.php:

    Codice PHP:

    <?php

    require_once("connetti.php"); <--- Questo richiama il file di configurazione del db


    session_start
    ();
    if(isset(
    $_SESSION['login'])){
    $id=$_SESSION['login'];
    $cerco_user=mysql_query("SELECT * FROM utenti WHERE id='$id'");
    while(
    $leggo_dati_user=mysql_fetch_array($cerco_user)){
    $login=$leggo_dati_user['login'];
    //echo '<font face="Comic Sans MS"> <body bgcolor = "#000000"> <font color="yellow">';
    }
    }

    else{
    echo 
    "<form action='' method='POST'>

    <CENTER> <h1>


    PER ENTRARE DIGITARE LOGIN & PASSWORD
    </center> </h1>
    <center>

    Username: <input type='text' name='username'><br><br>
    Password: <input type='password' name='password'><br><br>
    <input type='submit' name='logga' value='Loggati'>
    </center> </br>
    </form>"
    ;

    //if(isset($_POST['logga']) {

    error_reporting(E_ALL E_NOTICE);

    if(
    $_POST['logga']){

     
    $username mysql_real_escape_string($_POST['username']);
    $password mysql_real_escape_string($_POST['password']);
    $pass=md5($password);
    //echo $hash;
    $cerco=mysql_query("SELECT id FROM utenti WHERE username='$username' AND password='$pass'");
    while(
    $prelevo_id=mysql_fetch_array(($cerco))){
    $id=$prelevo_id['id'];
    }
    $x=mysql_num_rows($cerco);
    if(
    $x==0){header("Location:failed.html");}
    else{
    $_SESSION['login']=$id;header("Location:benvenuto.php");}

    }
    }
    ?>
    E poi c'è la pagina riservata, che viene chiamata paginaris.php:


    Codice PHP:

    <?php

    require_once("connetti.php");

    session_start();
        if(isset(
    $_POST['username']) || isset($_POST['password']))
    {
    echo 
    "Ciao " $_SESSION['username']; 
    }else{
    echo 
    "Accesso non consentito";
    }
    ?>
    Ci sarebbe anche il file login.php, che vorrei mettere tutto insieme, ossia il controllo dello username e della password. Vedi se tante volte nei codici che ho postato, mi puoi dare una mano a modificarli. Grazie. Aspetto come al solito tue notizie. Intanto provo anche il codice opostato, nella discussione che mi hai inviato, non si sa mai nella vita che mi funzioni.

  5. #5
    L'avatar di criric
    criric è offline Moderatore
    Data Registrazione
    Aug 2010
    Località
    TN
    Messaggi
    2,366
    In questa parte di codice devi aggiungere in sessione il nome Utente se poi vuoi visualizzarlo in un altra pagina

    Codice PHP:
     // aggiungi alla select anche il nome utente
     
    $cerco mysql_query("SELECT id,username FROM utenti WHERE username='$username' AND password='$pass'");
            while (
    $prelevo_id mysql_fetch_array(($cerco))) {
                
    // preleva anceh la username
                
    $id $prelevo_id['id'];
                
    $username $prelevo_id['username'];
            }
            
    $x mysql_num_rows($cerco);
            if (
    $x == 0) {
                
    header("Location:failed.html");
            } else {
                
    // metti in sessione anche il nome utente
                  
    $_SESSION['username'] = $username;
                  
    $_SESSION['login'] = $id;
                
    header("Location:benvenuto.php");
            } 
    ho fatto tre modifiche commentate

  6. #6
    paperinik4 è offline Forumista DOC
    Data Registrazione
    May 2011
    Messaggi
    1,178

    Ciao

    Ciao,

    ti ringrazio. Ma se il fatto che non riesco a connettermi persiste, cosa debbo fare ??? Ho resettato anche la tabella più di una volta. Sai ogni tanto si sputtana. Ora riprovosubito il codice. Ah la parte riguardante la pagina riservata ??? C'è anche quella per caso ???

  7. #7
    L'avatar di criric
    criric è offline Moderatore
    Data Registrazione
    Aug 2010
    Località
    TN
    Messaggi
    2,366
    la pagina riservata andrebbe scritta piu omeno cosi

    Codice PHP:
    <?php
    require_once("connetti.php");

    session_start();

    if (
    $_SESSION['username']) {
        
        echo 
    "Ciao " $_SESSION['username'];
    } else {
        echo 
    "Accesso non consentito";
    }
    ?>
    anche se sarebbe meglio creare una funzione che controlli melgio la validita della sessione, ma si puo aggiungere piu avanti

    il fatto che non riesco a connettermi persiste
    sarà un problema di connetti.php
    che errore ti restituisce?

  8. #8
    paperinik4 è offline Forumista DOC
    Data Registrazione
    May 2011
    Messaggi
    1,178

    Ciao

    Ciao,

    nessun errore, non mi fa entrare. ora provo i due codici che mi hai dato e vediamo se tante volte risolvo. Sono sempre più cinvinto che dipenda dalla criptazione della password non so il perchè bah.

  9. #9
    paperinik4 è offline Forumista DOC
    Data Registrazione
    May 2011
    Messaggi
    1,178

    Ciao

    Ciao,

    Allora non capisco un tubo del perchè non va. Comunque. Ti posto il codice che tu mi ha fatto, magari sbaglio io non lo so. Mi fa inkazzare...

    Questo si chiama login.php

    Codice PHP:

    <?php

    require_once("connetti.php");

    if (!isset(
    $_POST['log'])) {
       
            
        
    ?>
        <html>
            <head>
                <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
                <title>Loggati</title>

            <center>   <H1>AREA RISERVATA: PREGO EFFETTUARE IL LOGIN </H1>

                <form action= '' method="POST">

                    <font face="Comic Sans MS">

                    
    Username: <input type="text" name="username"  maxlength="30" size ="32"> <br> <br>
    Password: <input type="password" name="password"  maxlength="12" size ="14"> <br> <br>
                    
     </font> 
     
     
                    <center>
                        <input type="submit" name="log" value="Loggati" />
                        
                    </center> </form>
            </head>
            </body>
    <?php

    // da qua inizia il tuo codice con l'if iniziale del tasto "Loggati"
    } else {

    // aggiungi alla select anche il nome utente
     
    $cerco mysql_query("SELECT id,username FROM utenti WHERE username='$username' AND password='$pass'");
            while (
    $prelevo_id mysql_fetch_array(($cerco))) {
                
    // preleva anceh la username
                
    $id $prelevo_id['id'];
                
    $username $prelevo_id['username'];
            }
            
    $x mysql_num_rows($cerco);
            if (
    $x == 0) {
                
    header("Location:failed.html");
            } else {
                
    // metti in sessione anche il nome utente
                  
    $_SESSION['username'] = $username;
                  
    $_SESSION['login'] = $id;
                
    header("Location:paginaris.php");
            }  
    }
    ?>
    Questa è la pagina riservata chiamata paginaris.php:


    Codice PHP:

    <?php

    require_once("connetti.php");

    session_start();

    if (
    $_SESSION['username']) {
        
        echo 
    "Ciao " $_SESSION['username'];
    } else {
        echo 
    "Accesso non consentito";


    ?>
    E va sulla pagina di failed.php Non capisco assolutamente il perkè non va. Magari provalo anche te.

  10. #10
    L'avatar di borgo italia
    borgo italia è offline Super Moderatore
    Data Registrazione
    Feb 2008
    Località
    PR
    Messaggi
    11,201
    ciao
    nella login mi sembra che manchi session_start().
    session_start() deve esserci in tutte le pagine in cui usi le sessioni

Pagina 1 di 6 12345 ... UltimaUltima

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •