reindirizzamento dopo login

  • Creatore Discussione Creatore Discussione nim
  • Data di inizio Data di inizio

nim

Utente Attivo
11 Ott 2011
96
0
0
salve a tutti..
nell'applicazione che sto sviluppando quando si vuole accedere a certe pagine si viene reindirizzati alla pagina di login.
una volta inserito username e password dalla pagina di login si viene reindirizzati a una pagina x.php
Quindi se voglio entrare nella pagina del pannello di controllo ma non mi sono loggato vengo reindirizzato a login.php e effettuato il login non mi manda al pannello di controllo bensì a una pagina x.php .
vorrei invece che al bisogno di dover entrare nel pannello di controllo , se non sono loggato , arrivo a login.php (e fin qui è ok) ma una volta effettuato il login non voglio essere reindirizzato a x.php bensì alla pagina di cui ho precedentemente chiesto il "caricamento", nel mio caso il pannello di controllo.
Spero che mi possiate aiutare, e se non mi sono spiegato sono qui !
Grazie in anticipo :)

aggiungo la funzione che indirizza a seidentro.php
PHP:
public function VerifyLogin()
		{
			$username = $_POST['username'];
			$password = md5($_POST['password']);
			$this->DbConnect();
			$sql = "SELECT id FROM users WHERE username='$username' AND password='$password' AND ver=1";
			$res = mysql_query($sql,$this->conn);
 
			if($row = mysql_fetch_array($res))
			{
				$_SESSION['auth'] = 1;
				$_SESSION['user_id'] = $row['id'];
				header("Location: seidentro.php");
				mysql_close($this->conn);
				die;
			}
 
Ultima modifica di un moderatore:
ciao
una domanda:
sei solo tu (admin?) che vuoi essere indirizzato al pannello di controllo?
se si avrai una pass+user e, nella tab user, un id
quindi potresti reindirizzare in funzione dell'id

PHP:
<?php
//..........
$_SESSION['auth'] = 1;
$_SESSION['user_id'] = $row['id'];
if($_SESSION['user_id'] == tuo_id){
	header("Location: pannello_controllo.php");
}else{
	header("Location: seidentro.php");
}
mysql_close($this->conn);
die;
//...........
?>
"ana ca....a al giorno togli il webmaster di torno"

p.s.
inserite il codice sempre negli appositi tag
 
no forse mi sono espresso male..
tutti gli utenti se cliccano su pagine in cui serve essere loggati , devono essere reindirizzati alla pagina login(e qui ci sono) ma una volta effettuato il login devono essere reindirizzati non a una pagina fissa, bensì alla pagina che avevano richiesto ma che non potevano vedere perchè non avevano fatto il login.
idee?
 
ciao
puoi provare in questo modo
pag. link
PHP:
<a href="login.php?pag=0">pag. riservata zero</a><br>
<a href="login.php?pag=1">pag. risercata uno</a><br>
<a href="login.php?pag=2">pag. riservata due</a>
<!-- eccetera -->

nella pag login.php oltre al form di log
PHP:
<?php
session_start();
//....
$_SESSION['pag']=$_get['pag'];
//...eccetera
?>
nella pag in cui reindirizzi o se è quella di log (ti metto sotto forma di array, ma potrebbe essere ricavata da un db)
PHP:
<?php
//..........
$pagina=array('ris_zero.php','ris_uno.php','ris_due.php');
$vai_a=$pagina[$_SESSION['pag']];
$_SESSION['auth'] = 1;
$_SESSION['user_id'] = $row['id'];
if($_SESSION['user_id'] == tuo_id){
    header("Location: pannello_controllo.php");
}else{
    header("Location: $vai_a");//quindi reindirizzo alla pag richiesta
}
mysql_close($this->conn);
die;
//...........
?>
 
Ehm, ma non è più semplice fare così? Nella pagina del login (in cima):
PHP:
<?php
session_start();
?>
Quando visualizzi il form:
PHP:
<?php
if (!empty($_SERVER['HTTP_REFERER'])) {
    $_SESSION['referer'] = $_SERVER['HTTP_REFERER'];
}
?>
E se il login va a buon fine:
PHP:
<?php
$url = isset($_SESSION['referer']) ? $_SESSION['referer'] : '/index.php';
header("Location: {$url}");
?>
Puoi cambiare /index.php con la pagina a cui l'utente deve essere reindirizzato se visita manualmente l'URL del login (possibilità remota ma esistente).
 
Borgo dove devo posizionare i link? voglio dire , in che pagina?
Alessandro, scusa ma cosa intendi con "quando visualizzi il form"?
Se può aiutare comunque ho usato il tutorial di mtxweb , qui con qualche modifica ma in sostanza è così..
grazie
 
Ultima modifica:
ciao
se non ho capito male tu hai detto che se non sei loggato (te o l'utente) vuoi essere reindirizzato ad una pagina che te (o l'utente) ha richiesto di accedere.
quindi i link dovresti metterli dove l'utente cliccando sopra richiede una determinata pagina.
es. l'utente richiede la pag riservata uno
in tutti i casi (non essendo loggato) viene inviato alla pag di log dove (penso) ci sarà un form con almeno due campi uno per l'username ed uno per la password.
l'utente si logga e quindi avendo trasmesso il valore del $_get poi in sessione sessione (in questo caso =1) la variabile $vai_a=$pagina[1] risulta di valore 'ris_uno.php'
per cui l'utente dopo il log verrà riinviato alla pag richiesta
(poi dovrai andare a modificare l'heder della classe che ti rimandoa alla pag successo facendo in modo che nell'eader vada l'url rischiesto)
non so se mi sono spiegato bene
 

Discussioni simili