Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sprawdzenie zalogowania.
Forum PHP.pl > Forum > Przedszkole
MarcinJarek
Witam ponownie.

Mam skrypt logowania - jest on bardzo "słaby" (nic nie zapisuje, cisteczek i sesji). I gdy sie poda dobre dane (sa pobierane z pliku) to zaloguje sie do konsoli. A jak zrobic zeby bylo mozna wejsc do pliku ustawienia.php gdy jest sie zalogowanym? Jak o sprawdzić? Prosze o dokładny opis.

Pozdrawiam
MarcinJarek
invx
musi cos zapisywac, albo ciasteczko albo sesje, inaczej nie ma mozliwosci sprawdzenia, ew. zmienna, ale to malo bezpieczne, pokaz ten kod.

[php:1:3d69fc47dc]<?php
if ( isset($zalogowany) )
{
//plik ktury ma byc wykonany po zalogowaniu
}
else
{
//plik do wykonania bez logowania
}
?>[/php:1:3d69fc47dc]
rogrog
sesje są tyle razy poruszane ze wprost nie moge sie nadziwic ze chciało ci się zakładać nowy temat i czekać aż ktoś ci odpowie zamiast wpisać "logowanie" albo "sesje" w okienko u góry i kliknąć "szukaj na forum" !!

http://forum.php.pl/viewtopic.php?t=17686
MarcinJarek
A mozecie podac co wpisac na poczatku i na koncu logowania i co wpisac aby sprawdzalo czy zalogowane?
hwao
Cytat
A mozecie podac co wpisac na poczatku i na koncu logowania i co wpisac aby sprawdzalo czy zalogowane?

A moze jakis kod?
MarcinJarek
Chodziło mi o tylko napisanie typu: [kod php] - to wstaw na początku formularza logowania ale ok, podaje kod form. logowania:

index.php
[php:1:28c7a854b5]<?php
<form action="admin.php" method="POST">
Login: <input name="login"><BR>
Hasło: <input name="haslo"> <BR>
<input type="submit" value="Zaloguj">
?>[/php:1:28c7a854b5]

admin.php
[php:1:28c7a854b5]<?php
<?
function autoryzacja($login, $haslo) {
$plik= file("hasla.txt");
foreach($plik as $linijka) {
$dane = explode("|",$linijka);
if ((trim($login)==trim($dane[0]))and(trim($haslo)==trim($dane[1])))
return true;
}
return false;
}




if (autoryzacja($login,$haslo)) {
// tutaj zawartosc strony po autoryzacji

} else {
echo "Dane podane są błędne. Proszę spróbowac ponownie.";


}
?>
?>[/php:1:28c7a854b5]

A pliku z ustawieniami jeszcze nie zrobilem bo, nie wiem wlasnie jak zrobic to do sprawdzania czy jest ktos zalogowany, wiec prosze podac co trzeba wpisac.

Dzięki z góry. Pozdrawiam MarcinJarek
Siner
Sprobuj pokombinowac z tym kodem.
[php:1:c3a274ecd4]<?php
session_start();


if ($HTTP_POST_VARS['nazwa_uz'] && $HTTP_POST_VARS['haslo'])
// właśnie nastąpiła próba logowania
{

$nazwa_uz = $HTTP_POST_VARS['nazwa_uz'];
$haslo = $HTTP_POST_VARS['haslo'];

if (autoryzacja($nazwa_uz, $haslo))
{
// jeżeli w bazie danych, zgłoszenie identyfikatora użytkownika
$HTTP_SESSION_VARS['uzyt_admin'] = $nazwa_uz;
}
else
{
// niepomyślne logowanie
echo 'Zalogowanie niemożliwe.Należy być zalogowanym, aby przeglądać tę stronę.<br />';
exit;
}
}

?>[/php:1:c3a274ecd4]
Liko
Zrób tak. Jak masz tą funkcje "autoryzacja" dodaj tam w przypadku zalogowania zmienna sesyjną z flagą:
[php:1:02119383b2]
<?php
session_start();

function autoryzacja($login, $haslo) {
$plik= file("hasla.txt");
foreach($plik as $linijka) {
$dane = explode("|",$linijka);
if ((trim($login)==trim($dane[0]))and(trim($haslo)==trim($dane[1])))
$_SESSION['is_login'] = 1;
return true;
}
return false;
}

if (autoryzacja($login,$haslo)) {
// tutaj zawartosc strony po autoryzacji
} else {
echo "Dane podane są błędne. Proszę spróbowac ponownie.";
}
?>[/php:1:02119383b2]


Później na innej stronie robisz tak:
[php:1:02119383b2]<?php

session_start();

if( $_SESSION['is_login'] )
{
// tresc dla zalogowanych
}
else
{
// tresc dla gosci
}
?>[/php:1:02119383b2]
MarcinJarek
OK, działa. Dzięki wielkie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.