php sessione per singolo utente

zighy

Utente Attivo
20 Gen 2012
96
0
0
Ciao:faraone:,
non è molto che sto usando le sessioni e non credo di averle ancora capite proprio a pieno.Ho un form login che controlla username e password e se sono esatte mi apre una sessione. Ora mi chiedevo se ,e credo di si, sia possibile apripre una sessione diversa per ogni utente in modo da indirizzare in base a username e password sulle pagine che voglio. A rileggere mi sembra un po contorta come richiesta ma gli script renderanno meglio l'idea.

PHP:
<?php

    session_start();

    function loginform(){
    
        echo "<form action='' method='POST'>
        Username: <input type='text' name='username'>
        Password: <input type='text' name='password'>
        <input type='submit' name='login' value='Login'>
        </form>
        
        ";
    }
    
    function logoutform(){
    
        echo "<form action='' method='POST'>
        
        <input type='submit' name='Invia' value='Logout'>
        </form>
        
        ";
    }
    
   
    function login($username, $password){
    $pass = md5($password);
    $con = mysql_connect('localhost', 'root', '****') or die (mysql_error());
    mysql_select_db('my_fantacalciojarno', $con) or die (mysql_error());
    $result = mysql_query(" SELECT * FROM user WHERE username='$username' AND password='$pass' ") or die (mysql_error);
    
    $count = mysql_num_rows($result);
    
    if($count==1){
    $_SESSION['login']=$username;
    echo "Login avvenuto";
    }
    else{
    echo "Login errato. ";
    }
    }
    
    function logout(){
    session_destroy();
    }

    if(isset($_POST['login'])){
        echo "sei loggato.";
            logoutform();
    }
    else{
    echo "fai il login" ;     
            loginform();
    }
    
    if($_POST['login']){
    echo "login in corso..";
    
            login($_POST['username'], $_POST['password']);
    }    
    elseif($_POST['logout']){
    echo "Stai facendo il logout ";
            logout();
    }
        
?>

Pagina riservata:

PHP:
<?php

session_start();

if (!isset($_SESSION['login'])){
 exit( "Accesso negato. Devi fare il <a href='login.php'>login<a>.");
}

echo "pagina riservata";

?>
 

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
Non hai bisogno di aprire nuove sessioni, ma potresti inserire nella tabella del database un campo "pagina", estrarre il dato (tipo pagina.html o pagina.php) e poi cambiare la pagina alla quale si deve andare al momento del login corretto inserendo una variabile nel link. Spero di essere stato chiaro ma se hai bisogno di chiarimenti dimmi pure. :byebye:
 

zighy

Utente Attivo
20 Gen 2012
96
0
0
Nel database c è anche un id, in parte in previsione di questa cosa, è fisso, considerato che la cosa che voglio fare ha un numero esiguo di utenti.
Non ho capito molto bene quello che intendi ma io stavo smanettando si st' id.. ma se mi chiarisci il tuo concetto.. potrebbe essere un idea migliore
 

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
Nel database c è anche un id, in parte in previsione di questa cosa, è fisso, considerato che la cosa che voglio fare ha un numero esiguo di utenti.
Non ho capito molto bene quello che intendi ma io stavo smanettando si st' id.. ma se mi chiarisci il tuo concetto.. potrebbe essere un idea migliore

Non centra l'id. Andiamo per passi: crea un campo nella tabella del database chiamato "pagina".
 

zighy

Utente Attivo
20 Gen 2012
96
0
0
ok...varchar..12

ti ringrazio..i passi pero'anche un po piu' lunghi vanno bene :moira:
 

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
ok...varchar..12

ti ringrazio..i passi pero'anche un po piu' lunghi vanno bene :moira:

Ora inserisci in ogni utente, in questo campo, la pagina che vuoi che visitino quando accedono.
Poi modifica questa parte di codice:
PHP:
    function login($username, $password){ 
    $pass = md5($password); 
    $con = mysql_connect('localhost', 'root', '****') or die (mysql_error()); 
    mysql_select_db('my_fantacalciojarno', $con) or die (mysql_error()); 
    $result = mysql_query(" SELECT * FROM user WHERE username='$username' AND password='$pass' ") or die (mysql_error); 
     
    $count = mysql_num_rows($result); 
     
    if($count==1){ 
    $_SESSION['login']=$username; 
    echo "Login avvenuto"; 
    } 
    else{ 
    echo "Login errato. "; 
    } 
    }

in questa:
PHP:
function login($username, $password){ 
    $pass = md5($password); 
    $con = mysql_connect('localhost', 'root', '****') or die (mysql_error()); 
    mysql_select_db('my_fantacalciojarno', $con) or die (mysql_error()); 
    $result = mysql_query(" SELECT * FROM user WHERE username='$username' AND password='$pass' ") or die (mysql_error); 
    $result_array = mysql_fetch_array($result);
    $count = mysql_num_rows($result); 
     
    if($count==1){ 
    $_SESSION['login']=$username; 
    echo "Login avvenuto"; 
    echo"<script type='text/javascript'>";
    echo "setTimeout(\"location.href='{$result_array['pagina']}';\", 1000);";  
    echo"</script>";
    } 
    else{ 
    echo "Login errato. "; 
    } 
    }

Così dovrebbe andare.
Ciao,
hackersatifal. :byebye:
 
Ultima modifica:

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
Ora inserisci in ogni utente, in questo campo, la pagina che vuoi che visitino quando accedono.
Poi modifica questa parte di codice:
PHP:
    function login($username, $password){ 
    $pass = md5($password); 
    $con = mysql_connect('localhost', 'root', '****') or die (mysql_error()); 
    mysql_select_db('my_fantacalciojarno', $con) or die (mysql_error()); 
    $result = mysql_query(" SELECT * FROM user WHERE username='$username' AND password='$pass' ") or die (mysql_error); 
     
    $count = mysql_num_rows($result); 
     
    if($count==1){ 
    $_SESSION['login']=$username; 
    echo "Login avvenuto"; 
    } 
    else{ 
    echo "Login errato. "; 
    } 
    }

in questa:
PHP:
function login($username, $password){ 
    $pass = md5($password); 
    $con = mysql_connect('localhost', 'root', '****') or die (mysql_error()); 
    mysql_select_db('my_fantacalciojarno', $con) or die (mysql_error()); 
    $result = mysql_query(" SELECT * FROM user WHERE username='$username' AND password='$pass' ") or die (mysql_error); 
    $result_array = mysql_fetch_array($result);
    $count = mysql_num_rows($result); 
     
    if($count==1){ 
    $_SESSION['login']=$username; 
    echo "Login avvenuto"; 
    echo"<script type='text/javascript'>";
    echo "setTimeout(\"location.href='{$result_array['pagina']}';\", 1000);";  
    echo"</script>";
    } 
    else{ 
    echo "Login errato. "; 
    } 
    }

Così dovrebbe andare.
Ciao,
hackersatifal. :byebye:

Ho modificato ora il messaggio guardalo: confusione fra thread. :D
 

zighy

Utente Attivo
20 Gen 2012
96
0
0
Ti ringrazio, ho dato un occhiata adesso e anche se nn ho provato il codice ho capito come funziona. Domani lo provo solo che gia' a darci un occhio ho idea che ci sia un intoppo. La sessione che voglio iniziare è su piu' pagine non su una sola pagina singola, cioè ogni utente dovrebbe aprire una sessione per cui possa visualizzare le sue 3/4 paginette.. nel modo che mi hai descritto tu credo valga per una singola pagina...intanto buonanotte!!!
 
Discussioni simili
Autore Titolo Forum Risposte Data
M [PHP] Passare variabile di sessione con metodo GET PHP 10
L [PHP] Suggerimento su sessione PHP 6
Cosina [PHP] Chiudere sessione quando la pagina viene riaggiornata PHP 4
cattivic72 [PHP] Durata sessione PHP 1
N [PHP] Utilizzo variabili di sessione [Risolto] PHP 13
I [PHP] login con sessione singola PHP 1
otto9due [PHP] id di sessione "session_id()" a cosa serve e come utilizzarlo? PHP 4
K [PHP] Unica sessione login forum/sito PHP 1
L [PHP] Sessione tra sottodominio PHP 1
M [PHP] Sessione Login PHP 15
gandalf1959 [PHP] variabile di sessione si azzera ricaricando la pagina? PHP 3
M durata sessione php PHP 1
L Sessione php PHP 6
U passare una variabile di sessione da pagina di joomla a pagina php Joomla 3
max_400 php: sessione scadenza a tempo e reidirect - by max4001976 PHP 1
H autenticazione sessione ajax/php Ajax 2
L php e ajax, le variaibli di sessione si possono usare? Ajax 0
A array in una sessione php PHP 3
R [PHP] - Variabili di sessione PHP 1
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 0
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
E Inviare variabile a PHP da ciclo in JS Javascript 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
F menù select dinamico da db in php PHP 3
L Problemi form Pagina php HTML e CSS 3
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A invio massivo dati a file php Javascript 4
Z MySql injection PHP PHP 1
V PHP form intersecate PHP 0
I [Offro][Retribuito] Programmatore Php Offerte e Richieste di Lavoro e/o Collaborazione 0
P Funzione jQuery Ajax invio file a php jQuery 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
E Transaction php PHP 11
B ciclare file xml con PHP PHP 1
L Estrazione dati php Database 6
A Aiuto per pagina php PHP 0
E Php select option e ajax PHP 23
I Aiuto php Dependent Lookup PHP 0
T arretramento versione PHP... PHP 3
D problema php mysql PHP 1
D problema php mysql PHP 1

Discussioni simili