blocare pag daca nu esti logat

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

blocare pag daca nu esti logat

salut, am luat scriptul de logare, inregistrare de aici si merge super bine dar am o mica problema, cum fac ca daca o pagina nu vreau sa se vada numai daca esti logat, cum fac ce restrictie ii dau si sa tina cont de logarea pe care o am facuta, te intreb ca u sti mai bine structura scriptului si cum ar fi o restrictie. astept raspuns. multumesc!
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif

MarPlo Mesaje:4343
Se poate adaugand de exemplu in "index.php" intr-un Array numele acelor pagini, doar partea care vine dupa numele domeniului si incepand cu '/'.
Iar unde este "else 'Cod pt. neautentificati' " se preia numele paginii curente (cu $_SERVER['REQUEST_URI'] ), si daca e in acel Array, face redirect sau ce vrei.
Exemplu in codul de mai jos, care e din "index1.php", din scriptul de logare. Face redirect la 'index.php' cu un meta-tag REFRESH.

Cod: Selectaţi tot

<?php session_start(); ?>

<html>
<title>Autentificare utilizator</title>
<body>

<?php
// Include Fisiere
include("logare/bazadb.php");
include("logare/login.php");

// array cu pagini restrictionate
$restr = array('/index.php?id=mp', '/alta_pagina.php?id=un_id', '/zzz.php?pg=altid');

// Aici este afisat formularul de autentificare
echo $logged_in;

// Cod de test afisare un continut pt. cei autentificati si altul pt. vizitatori 
if(isset($_SESSION['nume'])) {
  echo '<h1>Cod pt. utilizatori autentificati</h1>';
}
else {
  // ia numele pagnii curente si daca e in $restr face redirect la 'index.php'
  $curent_pg = $_SERVER['REQUEST_URI'];
  if(in_array($curent_pg, $restr)) {
    echo '<meta http-equiv="REFRESH" content="0;url=index.php">'; exit;
  }

  echo '<h1>Cod general,pt. vizitatori neautentificati</h1>';
}
?>

</body>
</html>

trif Mesaje:500
multumesc pt ajutaor, dar nu imi merge cum ai facut nu stiu de ce, dar am facut altfel:
am facut fisierul acesta acces.php

Cod: Selectaţi tot

<?php
	//Start session
	session_start();
	
	if(!isset($_SESSION['nume']) || (trim($_SESSION['nume']) == '')) {
		header("location: autentificare.php");
		exit();
	}
?>

si l-am introdus in fiecare pag care vreau sa o blochez pt vizitatori cu:

Cod: Selectaţi tot

<?php
require_once('acces.php');
?>
si merge bine. ce zici ii bun ce am facut? multumesc inca o data pt ajutor.
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif

MarPlo Mesaje:4343
Si asa e bine, dupa cum demonstreaza ca functioneaza cum vrei.