Redirect la pagina anterioara dupa logare

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
Avatar utilizator
evident
Mesaje:168

Redirect la pagina anterioara dupa logare

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

MarPlo Mesaje:4343
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']); 

evident Mesaje:168
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?

MarPlo Mesaje:4343
Cred ca da.
Poate daca incerci, afli.

evident Mesaje:168
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?

MarPlo Mesaje:4343
Fisierul "login.php" trebuie sa aibe session_start(); la inceput.
In rest pare bine.

Subiecte similare