Pagina 1 din 1

Redirect la pagina anterioara dupa logare

Scris: Mie Noi 16, 2011
de evident
Salut,
Pe site-ul meu de anunturi am facut ca si membri sa poata sa se logheze...
Si vreau ca sa poata adauga un anunt doar daca sunt inregistrati...
Am facut asta si merge
Am facut asa:

Cod: Selectaţi tot

session_start();
if (!isset($_SESSION['username'])) { 
   echo 'Te rugam <a href="login.php">intra in cont</a> pentru a accessa aceasta pagina';
   exit(); 
}
Ceea ce vreau eu e ca dupa ce il trimite la pagina de logare si se logheaza sa ii intre tot in pagina unde el nu a avut acces pana nu s-a logat

Redirect la pagina anterioara dupa logare

Scris: Mie Noi 16, 2011
de MarPlo
Poti retine adresa paginii intr-o sesiune, asa:

Cod: Selectaţi tot

session_start();
if (!isset($_SESSION['username'])) {
  $_SESSION['urlpg'] = $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
   echo 'Te rugam <a href="login.php">intra in cont</a> pentru a accessa aceasta pagina';
   exit();
} 
Iar in "login.php" se verifica daca exista sesiunea "urlpg" si se face redirect la ea.
Asa:

Cod: Selectaţi tot

if(isset($_SESSION['urlpg'])) header('Location: http://'.$_SESSION['urlpg']); 

Redirect la pagina anterioara dupa logare

Scris: Mie Noi 16, 2011
de evident
eu am asa
login.php

Cod: Selectaţi tot

<?php

if ($_POST['email']) {

include_once "connect_to_mysql.php";
$email = stripslashes($_POST['email']);
$email = strip_tags($email);
$email = mysql_real_escape_string($email);
$password = ereg_replace("[^A-Za-z0-9]", "", $_POST['password']); 
$password = md5($password);

$sql = mysql_query("SELECT * FROM members WHERE email='$email' AND password='$password' AND emailactivated='1'"); 
$login_check = mysql_num_rows($sql);
if($login_check > 0){ 
    while($row = mysql_fetch_array($sql)){ 
        
        $id = $row["id"];   
        session_register('id'); 
        $_SESSION['id'] = $id;
       
	    $username = $row["username"];   
        session_register('username'); 
        $_SESSION['username'] = $username;
       
        mysql_query("UPDATE members SET lastlogin=now() WHERE id='$id'"); 
        
		header("location: profil.php?id=$id"); 
		exit();
    } 
} else {

  print '<br /><br /><font color="#FF0000">No match in our records, try again </font><br />
<br /><a href="login.php">Click here</a> to go back to the login page.';
  exit();
}
}
?>
aici ar trebui sa bag codul care mi l-ai dat pentru login
header("location: profil.php?id=$id");
nu?

Redirect la pagina anterioara dupa logare

Scris: Mie Noi 16, 2011
de MarPlo
Cred ca da.
Poate daca incerci, afli.

Redirect la pagina anterioara dupa logare

Scris: Joi Noi 17, 2011
de evident
Salut,
Am faut asa:
in pagina de adaugare anunt-am pus:

Cod: Selectaţi tot

<?php
session_start();
if (!isset($_SESSION['username'])) {
  $_SESSION['urlpg'] = $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
   echo 'Te rugam <a href="login.php">intra in cont</a> pentru a accessa aceasta pagina';
   exit();
} 
?>
iar in pagina login am facut asa:

Cod: Selectaţi tot

<?php

if ($_POST['email']) {

include_once "connect_to_mysql.php";
$email = stripslashes($_POST['email']);
$email = strip_tags($email);
$email = mysql_real_escape_string($email);
$password = ereg_replace("[^A-Za-z0-9]", "", $_POST['password']); 
$password = md5($password);

$sql = mysql_query("SELECT * FROM members WHERE email='$email' AND password='$password' AND emailactivated='1'"); 
$login_check = mysql_num_rows($sql);
if($login_check > 0){ 
    while($row = mysql_fetch_array($sql)){ 
       
        $id = $row["id"];   
        session_register('id'); 
        $_SESSION['id'] = $id;
       
	    $username = $row["username"];   
        session_register('username'); 
        $_SESSION['username'] = $username;
       
        mysql_query("UPDATE members SET lastlogin=now() WHERE id='$id'"); 
       
		header("Location: ".$_SESSION['urlpg'].""); 
		exit();
    } 
} else {

  print '<br /><br /><font color="#FF0000">Nu exista acest user </font><br />
<br /><a href="login.php">Click aici</a> pentru a te intoarce la pagina de logare.';
  exit();
}
}
?>
Dar tot nu merge...unde gresesc?

Redirect la pagina anterioara dupa logare

Scris: Sâm Noi 19, 2011
de MarPlo
Fisierul "login.php" trebuie sa aibe session_start(); la inceput.
In rest pare bine.