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
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0

Discussioni simili