Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Formularze, logowanie i PHP
marcingl
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 21.05.2003

Ostrzeżenie: (0%)
-----


Witam Panstwa,
Mam problem, ktorego od dluzszego czasu nie potrafie rozwiazac.
Chodzi o logowanie do bazy danych postgresql z poziomu przegladarki.
Gdy wysle pole login i haslo metoda get i porownam je z danymi z bazy danych tak napisany skrypt jest niewrazliwy na wylogowywanie, bo jezeli nawet zniszcze sesje w ktorej przechowywalem haslo i login, to po powroceniu do strony logowania i nacisnieciu przycisku refresh login i haslo sa znow wpisywane do sesji z formularza.
Jak zrobic, zeby tylko raz pobrac login i haslo? Chcialbym takze, zeby mozna bylo przewracac kartki w przegladarce przyciskiem back i odczytywac informacje tak dlugo jak dlugo jestem zalogowany.
Dziekuje za podpowiedzi,

Marcin Glogowski
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
marcingl
post
Post #2





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 21.05.2003

Ostrzeżenie: (0%)
-----


Dobrze, oto kod strony glownej:
[php:1:87f1147501]
session_start();
include('naglowek.inc.php');

echo "<form action='projekt.php' method='get'>
<br>
<table>
<tr>
<td>
Użytkownik
</td>
<td>
<input name='login' type='text'>
</td>
</tr>

<tr>
<td>
Hasło
</td>
<td>
<input name='haslo' type='password'>
<input type='submit' value='Loguj'>
</td>
</tr>
</table>
</form>";

include('stopka.inc.php');
[/php:1:87f1147501]

no i kod strony, na ktora wchodze po nacisnieciu przycisku

[php:1:87f1147501]
session_start();
error_reporting(D_ALL);
include('naglowek.inc.php');
$zalogowany = $_SESSION['zalogowany'];

if ($zalogowany == 1)
{
$login=$_SESSION['login'];
$haslo=$_SESSION['haslo'];
}else
if (!isset($zalogowany))
{
$login=$_GET['login'];
$haslo=$_GET['haslo'];

$_SESSION['login'] = $login;
$_SESSION['haslo'] = $haslo;

$baza = pg_connect("dbname=sklad user='$login' password='$haslo'");
if ($baza)
{
$zalogowany = $_SESSION['zalogowany'] = 1;
pg_close();
}
}
[/php:1:87f1147501]

Tak jak juz wspomnialem, jezeli bylo nieprawidlowe logowanie, to sesja zostaje zniszczona poprzez session_destroy(); ale po powrocie na strone projekt.php i odswierzeniu znow mozna wejsc do bazy danych, no login i haslo jest pobierane poprzez get z formularza.

Pozdrawiam
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 06:38