Skocz do zawartości


Jak zrobić panel logowania w PHP , żeby user był zalogowany na każdej podstronie .


2 odpowiedzi w tym temacie

#1 Kubala94

    Nowy na forum

  • Użytkownicy
  • 1 Postów:

Napisano czw, 18 lut 2016 - 16:02

Witam, mam pytanie zrobiłem prosty system logowania z poradnika z pewnej strony smile.gif następnie "podpiąłem" ten panel logowania do mojej strony , która napisałem w html , działa OK ale pytanie jak zrobić żeby działało na każdej podstronie serwisu .. tzn. żeby użytkownik był zalogowany cały czas nawet jeśli przejdzie na podstronę (obecnie jak kliknę w inna podstronę to się wylogowuje , nawet jak przejdę na stronę główną zaraz po zalogowaniu) jak to napisać w php? Jestem początkującym , proszę o wyrozumiałość smile.gif P.S. wiem , że nikt nie napisze tego za mnie , nie tego oczekuje , tylko proszę o jakieś wskazówki , pokazanie jak to zrobić..

<?php

session_start();

if((!isset($_POST['login'])) || (!isset($_POST['haslo'])))
{
header('Location: index.html');

exit();
}
require_once "connect.php";

$polaczenie = new mysqli($host, $db_user, $db_password, $db_name);

if ($polaczenie->connect_errno!=0)
{
echo "Error:".$polaczenie->connect_errno;
}
else

{
$login = $_POST['login'];
$haslo = $_POST['haslo'];

$login = htmlentities($login,ENT_QUOTES, "UTF-8");
$haslo = htmlentities($haslo,ENT_QUOTES, "UTF-8");


if($rezultat = @$polaczenie->query(
sprintf("SELECT * FROM uzytkownicy WHERE user='%s' AND pass='%s'",
mysqli_real_escape_string($polaczenie,$login),
mysqli_real_escape_string($polaczenie,$haslo))))
{
$ilu_userow = $rezultat->num_rows;
if($ilu_userow>0)
{
$_SESSION['zalogowany'] = true;

$wiersz = $rezultat->fetch_assoc();
$_SESSION['id'] = $wiersz['id'];
$_SESSION['user'] = $wiersz['user'];
$_SESSION['email'] = $wiersz['email'];
$_SESSION['kontovip'] = $wiersz['kontovip'];


unset($_SESSION['blad']);
$rezultat->free_result();

header('Location: profile.php');

}else{

$_SESSION['blad'] = '<span style="color:red"> Nieprawidłowy login lub hasło!</span>';
header('Location: index.php');
}

}
$polaczenie->close();

}

?>


dalsza cześć kod plik profile.php

<?php

session_start();

if (!isset($_SESSION['zalogowany']))
{
header('Location: index.html');
exit();
}

?>

logout.php


<?php

echo "<p>Witaj ".$_SESSION['user'].'![<a href="logout.php">Wyloguj się</a>]';
echo "<p><b>E-mail</b>:".$_SESSION['email'];
echo "|<b>Konto Vip</b>:".$_SESSION['kontovip']."</p>";
?>

w indeksie mam wklejone to :

<?php
session_start();

if ((isset($_SESSION['zalogowany'])) && ($_SESSION['zalogowany']==true))
{
header('Location: profile.php');
exit();
}
?>

<?php
if(isset ($_SESSION['blad'])) echo $_SESSION['blad'];

?>
formularz logowania w html:

Zaloguj się: <br />
<br />

<form action="zaloguj.php" method="post">
Login: <br/> <input type="text" name="login" /> <br />
Hasło: <br /> <input type="password" name="haslo" />

<input type="submit" value="Zaloguj" />

</form>


#2 xmorfeuszx

    Nowy na forum

  • Użytkownicy
  • 1 Postów:

Napisano pią, 19 lut 2016 - 02:20

poczytaj o ciasteczkach powinno pomóc :)

#3 bartosz55

    Nowy na forum

  • Użytkownicy
  • 1 Postów:

Napisano sob, 14 maj 2016 - 17:22

Pomóżcie. Ja niebawem zmierzę się z podobnym problemem.