Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Logowanie na Cookies ?
Forum PHP.pl > Forum > Gotowe rozwiązania
tiraeth
Witam! Przed chwilą wpadłem na pomysł zrobienia logowania do administracji shoutSQL'a, czyli skryptu do pozdrawiania ludzi opartego na Cookies. Już tłumaczę: tworzymy plik login.php, w którym sprawdzamy dane z danymi znajdującymi się w bazie PostgreSQL. Jeżeli się zgadzają tworzone są Cookies, które trwają, aż do zamknięcia przeglądarki. W każdym pliku administracyjnym sprawdzane są cookies, i jeżeli istnieją wyświetlana jest zawartość tego skryptu. i gdy robimy LogOut to zostaje wywołana funkcja java script: Zamykanie Okna Przeglądarki.

Co sądzicie o takim rozwiązaniu smile.gif questionmark.gif Proszę o odpowiedź, a wrazie gdy będzie dużo osób za stworzeniem czegoś takiego to zabiorę się do pracy...

bYe
Guardian
Ja bym tam chciał takie mieć cacko. Ale jak już robić <a może dużo umiesz> to zrobić także w Cookies Panel Uzytkownika, Administracje i Stronki dostępne tylko dla logniętych... Powodzenia tongue.gif
hwao
logowanie.php
[php:1:a4bd6b5b98]<?php
/* logowanie dla wielu uzytkowników version słabe zabezpieczenia by hwao */
// Config
$url = "users";
// co ma wyświetpic jak nie ma takiego usera
$error = "Taki użytkownik nie istnieje";
// co ma wyswietlic jak haslo sie nie zgadza
$error2 = "Złe haslo";
// strona do ktorej ma sie dostep po hasle dopiero
$url_pass = "strona.php";
// Formularz
$form = "<form method=post>";
$form .= " <table>";
$form .= " <tr>";
$form .= " <td>";
$form .= " Login:";
$form .= " </td>";
$form .= " <td>";
$form .= " <input type=text name=nick>";
$form .= " </td>";
$form .= " <tr>";
$form .= " <td>";
$form .= " Hasło:";
$form .= " </td>";
$form .= " <td>";
$form .= " <input type=password name=haslo>";
$form .= " </td>";
$form .= " </tr>";
$form .= " <tr>";
$form .= " <td colspan=2>";
$form .= " <input type=hidden name=form value=see>";
$form .= " <input type=submit value=Wyslij>";
$form .= " </td>";
$form .= " </tr>";
$form .= " </table>";
$form .= "</form>";

// --------- K O D --------- //
if ($_POST['form'] != "") {
if (($_POST['nick'] != "") && ($_POST['haslo'] != "")) {
$nick_form = $_POST['nick'];
$haslo_form = $_POST['haslo'];
$file = @file("$url/$nick_form.txt") or die("$error");
for($i=0; count($file) > $i; $i++){
list($nick,$haslo,$mail) = explode('|+|', $file[0]);

if(($nick_form == "$nick") && ($haslo_form == "$haslo")) {
setcookie ("login", "yes", time()+3600);
setcookie ("nick", "$nick", time()+3600);
setcookie ("mail", "$mail", time()+3600);
header ("location: $url_pass");
exit;
} else {
echo $error2;
}
}
} else {
echo $form;
}

} else {
echo $form;
}
?>[/php:1:a4bd6b5b98]

strona.php
[php:1:a4bd6b5b98]<?php
if ($_COOKIE['login'] == "yes") {
echo "zalogowany <br>";
echo $_COOKIE['nick'];
echo "<br>";
echo $_COOKIE['mail'];
} else {
echo "nie masz uprawnien do ogladania tej strony";
}
?>[/php:1:a4bd6b5b98]

logout.php
[php:1:a4bd6b5b98]<?php
setcookie ("login", "", time()-3600);
setcookie ("nick", "", time()-3600);
setcookie ("mail", "", time()-3600);
echo "wylogowany";
?>[/php:1:a4bd6b5b98]

Przykald usera:
hwao.txt
Kod
hwao|+|pass|+|hwao@wp.pl


Przedub troche i polecalbym sesje bo sa bezpieczniejsze (duzo biggrin.gif)
Guardian
Jesteś pewien że to działa?questionmark.gif Wstaw to na jakiś FTP <jak posiadasz> i daj adres to sie zrejestruje i zobacze jak działa biggrin.gif laugh.gif
tiraeth
Z tego co wiem to jak się ustawi np.

[php:1:d21ebac819]<?php
setcookie ("login", "yes");
?>[/php:1:d21ebac819]

to wtedy Ciasteczka są trzymane do zamknięcia przeglądarki...

i to chyba najlepszy przykład... bo dzięki temu (jak nie znam sesji) mogę tworzyć Panel Administratora...
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.