MarcinJarek
10.06.2004, 19:50:12
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
10.06.2004, 19:55:30
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
10.06.2004, 20:04:15
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
10.06.2004, 20:09:23
A mozecie podac co wpisac na poczatku i na koncu logowania i co wpisac aby sprawdzalo czy zalogowane?
hwao
10.06.2004, 20:29:23
Cytat
A mozecie podac co wpisac na poczatku i na koncu logowania i co wpisac aby sprawdzalo czy zalogowane?
A moze jakis kod?
MarcinJarek
10.06.2004, 20:42:24
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
10.06.2004, 21:42:10
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
10.06.2004, 21:43:02
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
10.06.2004, 22:24:44
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.