2015-02-28 20 views
5

Ho creato il mio sito Web, ma desidero richiedere agli utenti di accedere prima che possano accedere a determinate pagine. Ad esempio, la mia home page è index.php, con url (www.sample.com/index.php). C'è un pulsante di accesso in questa pagina verrà reindirizzato a login.php. Nella pagina login.php ho un pulsante di modifica e l'evento onclick prende edit.php.Reindirizza alla pagina di accesso se l'utente non è connesso

Ora, se io incollare l'URL nel www.sample.com/edit.php AddressBar, si va direttamente al edit.php, ma voglio di prendere a index.php se l'utente è non connesso, simile a come Google richiede l'autenticazione.

+0

che cosa hai fatto finora? –

+0

Ho controllato il valore di sessione – user3386779

+0

Utilizza una dichiarazione condizionale ** if ** ** else ** – starkeen

risposta

8

Impostare una sessione dopo aver effettuato il login con successo e in edit.php controllare per esso, se la sessione non è impostata, reindirizzare alla homepage.

login.php:

//put this at the first line 
session_start(); 
//if authentication successful 
$_SESSION['login'] = true; 

edit.php:

if(!$_SESSION['login']){ 
    header("location:index.php"); 
    die; 
} 
+0

Il suo lavoro grazie – user3386779

+0

Il tuo benvenuto ... –

1

Poi si prega di controllare la sessione edit.php ... Se l'edit.php, sessione è non lì, poi verrà reindirizzato su index.php .. Sto parlando della sessione che verrà avviata quando l'utente effettuerà il login con successo

1

È possibile utilizzare la variabile di sessione per fare ciò, è necessario impostare la sessione all'accesso.

Così sulla pagina di modifica di partenza è possibile scrivere codice seguente per verificare wheter utente è connesso o no ..

session_start(); 
if(!issset($_SESSION['login_session'])){ 
    header("Location:login.php"); 
    exit(); 
} 
+0

la tua condizione è cattiva, un semplice 'issset ($ _ SESSION)' non è abbastanza. un'altra sessione potrebbe essere impostata da qualche altra parte. –

Problemi correlati