Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: skrypt logowania
Forum PHP.pl > Forum > PHP
krystianl
Wiatm !
Kiedys mialem strone na serverze z wlaczonym register_globals, teraz niestety musze strone przeniesc na server ktory ma to wylaczone.
Dane przekazywane w linku udalo mi sie zmienic poprzez:
$dane = $HTTP_GET_VARS['dane'];
natomiast mialem jeszcze taki skrypt logowania w ktorym nalezy zastosowac $_POST i $_COOKIE ale niewiem dokladnie w ktorym miejscu tego kodu. Jesli znalazlby ktos chwile prosze o pomoc.
Podaje kod skryptu logowania przy wylaczonym register_globals:

[php:1:32a13f619a]<?php
<?php
if (($login=="admin") && ($pass=="haslo"))
{
SetCookie("login",$login);
SetCookie("pass",$pass);
$rozsz=".php";
if(file_exists("akcja/$show$rozsz")){ //sprawdza czy plik do wstawienia istnieje
include("akcja/$show$rozsz");
}
else {
include("akcja/index$rozsz"); // jeśli nie ma pliku, lub parametru wstawia text dla strony głównej
}
}
else
{
//np. jakis komunikat
if ($login == "" || $pass == "")
{ echo ""; }
else
{
echo '<Center><BR><BR><BR>Błąd podczas logowania</Center>';
echo '<Center><BR><BR><A HREF="java script:window.history.back()">Powrót</A></Center>';
}
}
?>
<HTML>
<HEAD>
<title>Panel administracyjny</title>
</HEAD>
<BODY>
<?
$ciastkol = $HTTP_COOKIE_VARS['login'];
$ciastkoh = $HTTP_COOKIE_VARS['pass'];
if ($login == "" || $pass == "")
{
echo "<BR>";
echo "<TABLE cellSpacing=0 cellPadding=0 width=100% align=center border=0><TBODY><TR><TD vAlign=top width=100% height=20 bgcolor=#6394BC></TD></TR></TBODY></TABLE><BR><BR>";

echo "<TABLE cellSpacing=0 cellPadding=0 width=300 align=center border=0><TBODY><TR>
<TD vAlign=middle width=150>
</TD>
<TD vAlign=top width=150 height=140><Center><Font color=black face=Arial size=2>
<form action=admin.php method=post><br>
<B>Login:<BR></B> <input type=text name=login><br>
<B>Hasło:<BR></B> <input type=password name=pass><br>
<input type=submit value=Loguj></Form>
</Font></Center></TD>
</TR>
</TBODY></TABLE>";
}
?>
</BODY>
</HTML>
?>[/php:1:32a13f619a]
Pozdrawiam, i prosze o pomoc
slash^
Na samym poczatku:

[php:1:540f3a648a]<?php
if (($_POST['login']=="admin") && ($_POST['pass']=="haslo"))
{
SetCookie("login",$_POST['login']);
SetCookie("pass",$_POST['pass']);

?>[/php:1:540f3a648a]

Pozniej:

[php:1:540f3a648a]<?php
$ciastkol = $_COOKIE['login'];
$ciastkoh = $_COOKIE['pass'];
?>[/php:1:540f3a648a]
krystianl
Dzieki,
logowac sie loguje dobrze, ale jak chce wejsc na jakas inna podstrone w linku np:

www.server.com/admin?show=2strona

to znowu trzeba sie logowac, wiec tak jakby nie dzialaja COOKIE,
juz zmienialem prawie wszystko i nie moge wpasc co jest nie tak.
Przy register_globals=On wszystko dziala bez problemowo.

Pozdrawiam
Liko
Moja rada to tak żebyś robił to na sesjach. Wstawiasz na początku: session_start();" tak na kazdej stronie. Zamiast wysyłania ciastek ustaw flage: "$_SESSION['is_admin'] = true;" w miejsce wysyłania ciastek i później sprawdzaj tak: "
[php:1:c933655b86]
<?php
if( $_SESSION['is_admin'] )
{
// tresc dla admin
}
else
{
// formularz
}
?>
[/php:1:c933655b86]
krystianl
OK dzieki,

zrobilem na sesjach laugh.gif


Pozdrawiam
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.