Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Gin7
    Registrato dal
    Feb 2011
    Messaggi
    92

    $_SESSION - doppio login ?

    Salve a tutti, ho creato un mio "cms" (per la gestione di un mio piccolo sito), nulla di particolare.
    Il problema si verifica quando faccio il login. Se seguo la procedura una volta sola $_SESSION['id'] (che dovrebbe contenere l' id dell' utente loggato) non viene valorizzato. Se ri-eseguo il login una seconda volta volta... va tutto ok. Non capisco il perchè
    La struttura del sito è questa:
    -index.php:
    includo "config.php" contentente, tra gli altri parametri, il session_start().
    ricevo eventuali parametri get (per cambiare le pagine al mio sito)
    richiamo una funzione che cerca il get nel database (nella tabella pages) è mi restituisce l' url del controler.
    Controllo se è una pagina "protetta". Se ho il $_SESSION['id'] includo il controler (che a sua volta includerà il template della pagina), altrimenti scrivo "Non hai i permessi per visualizzare la pagina".

    -login:
    Tramite ajax, al click su un pulsante mi collego al file main.php.
    In questo file controllo l' user e la password inserita dall' utente e se ci sono nel database valorizzo (direttamente in main.php) $_SESSION['id']

    Avete suggerimenti? Sto impazzendo... grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    bisognerebbe vedere il codice del login
    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  3. #3
    Utente di HTML.it L'avatar di Gin7
    Registrato dal
    Feb 2011
    Messaggi
    92
    Certamente! Grazie per l' interessamento. Posto tutto il codice.

    Config:
    codice:
    ...
    session_start();
    ....
    index.php:
    codice:
    <?php
    	if ($visibilityPage != 'all') {
    		if((isset($_SESSION['id'])) && ($_SESSION['targetId'] == $visibilityPage)) {
    			include($content);
    		} else {
    			echo "Non hai i permessi per visualizzare la pagina";
    		}
    	} else { 
                  include($content);
            }
    ?>
    ($content è l' url del controler)

    main.php (Dove valorizzo $_SESSION['id']):
    codice:
    ...
    $_SESSION['id'] = $result['id'];
    $_SESSION['targetId'] = 'artist';
    ...

  4. #4
    Utente di HTML.it L'avatar di Gin7
    Registrato dal
    Feb 2011
    Messaggi
    92
    Salve, dopo un giorno di test ho finalmente trovato il problema. Sta nello script jquery:
    codice:
    function login(username, password) {
    	$.ajax ({
    		type: 'post',
    		url: 'ajax/main.php',
    		data: {
    			action: 'login',
    			username: username,
    			password: password
    		},
    		success: function(response) {
    			if(response == 0) {
    				alert("Nome utente o password non riconosciuti");
    			} else {
    				var data = JSON.parse(response);
    				if (data.target == 'artist') {
    					var page = 'pannello-artista';
    				} else if(data.target == 'user') {
    					var page = 'pannello-utente';
    				}
    				$('#login-home').hide();
    				$('#login-succes').show();
    				//window.location.href = "http://offerte-promozioni.it/biennale/public_html/?page="+page;
    			}
    		}
    	})
    }
    Se de-commento l' ultima riga, dopo il login, vengo indirizzato alla pagina corretta. Tuttavia mi compare accesso negato. In poche parole è come se venissi reindirizzato alla pagina corretta prima che la variabile $_SESSION['id'] sia valorizzata.
    Infatti, all' interno del div login-succes (che mostro con show()) c'è un link alla pagina corretta ed in effetti ci entro tranquillamente.
    Il mio obiettivo ora è quello di avere un redirect automatico.
    Penso che ormai però sia un problema relativo a Jquery, si potrebbe spostare nella sezione corretta? Provo a segnalarlo ad un moderatore
    Grazie per l' aiuto in questa sezione

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.