WebDeveloper
 główna | forum manual | skrypty |  artykuły |  projekty | porady |  zasoby |  linki 

Forum PHP


 logowanie....
Autor: stan. (---.krakow.cvx.ppp.tpnet.pl)
Data:   03.12.00 14:18

Robie teraz cos w rodzaju Menadzera NEWSow na strone.. i doszedlem do punktu logowania sie do tego "systemu", po tym jak "system" zidentyfikuje uzytkownika jeszcze wiele razy bedzie sie musial odwolywac do jego danych (np. e-mail itp.).
Tak wiec.. jak zrobic by "system" wiedziel przez caly czas z kim ma do czynienie... hmm.. cookies, sesja ?
czy jeszcze cos innego ?

Pozdrawiam wszystkich i z gory dzienkuje za wszyskie podpowiedzi
stan.

 RE: logowanie....
Autor: Hamster (---.gabo.pl)
Data:   03.12.00 17:19

Mysle, ze chyba najlepszym, a raczej optymalnym jest uzycie 'ciasteczek'. Pozwala to na dlugie przechowywanie danych, tworzenie gadzetow jak zapamietaj moj email czy haslo czy nick'a.

Podstawa w takim systemie zawsze jest pozostawienie jakiejs informacji po stronie klienta by mozna go identyfikowac.

Najpewniejszy system to przekazywanie w URL lub przez formularz zmiennych, jednakze kazdy link musialby byc zmieniony a to jest dosc pracachlonne, choc mozna to zautomatyzowac.

To tyle.

Hamster.

 RE: logowanie....
Autor: stan. (---.krakow.cvx.ppp.tpnet.pl)
Data:   04.12.00 18:39

Dzienki :)
Skrocilo to troche moje gdybania i odrazu wziolem sie do pracy..
Zaczynam...

switch($dane_z_formularza) {
case('SPRAWDZAMY'):
if($nick != '' or $haslo != ''){
$zapytanie = "SELECT * FROM profile WHERE nick='$nick'";
$wynik = mysql_query($zapytanie);
$rekord = mysql_fetch_array($wynik);
if($rekord['nick'] == $nick and $rekord['haslo'] == $haslo){
//Wchodzimy do systemu! Najpierw trza Cookies ustawic wiedz idziemy do znajomego kucharza ;)
header( "Location: kucharz.php3?login=$nick&passwd=$haslo");


No i tu pojawia sie problem...
Warning: Cannot add header information - headers already sent by......

Co z tym fantem zrobic !?

stan.

 RE: logowanie....
Autor: marcinB (---.tpi.pl)
Data:   05.12.00 11:12

Jest problem.
Header musi byc wyslany przed wszystkim. Najlepiej zrob kolejny plik php-owy, w ktorym bedziesz ustawial cookies.
Plik ten musisz wywolac z pliku, w ktorym "mieszales" w bazie np. przy pomocy javascript.

ciekawe czy pojdzie ;)

pozdrawiam.

PS: w javie chyba cos takiego "location.change('tarata.php');" ale nie jestem do konca pewien.

 RE: logowanie....
Autor: Piotr (---.gdynia.ppp.tpnet.pl)
Data:   05.12.00 23:42

I wpisz znacznik <? w pierwszej linii i w pierwszym polu - zerknij też kilka postów w stec zdaje się, że "ratujcie koszyk" czy jakoś tak...

 RE: logowanie....
Autor: Poncki (---.polbox.pl)
Data:   06.12.00 14:09

A czemu tak od d*** strony? ;-)

W dokumentacji do PHP4 jest ładny przykład (http://pl.php.net/manual/features.http-auth.php) na przeprowadzenie PEWNEJ autentykacji (niezależnie od włączonych czy nie cookies, javascriptów etc).

A co do komunikatu "Warning: Cannot add header information - headers already sent by......" - Wyglada na to, że próbujesz ustawić cookie już po tym, jak coś zostało wysłane do przeglądarki. Rozpocznij plik .php od razu od "<?php", usuń wszystkie spacje znajdujące się poza zasięgiem <?php ?> a przed wystąpieniem SetCookie. Innymi słowy, SetCookie musi zostać wywołane zanim wyślesz cokolwiek do przeglądarki.

 RE: logowanie.... (odp. Poncki)
Autor: stan. (---.krakow.cvx.ppp.tpnet.pl)
Data:   06.12.00 18:15

Ale w takim razie pozniej (jak klient przejdzie juz na nastepna strone "systemu" niusowego) nie mam mozliwosci zidentyfikowac danego kolesia... Tym samym nie wiem czy ma on wogule prawo tam przebywania.. itd.

No chyba ze jestem w bledzie ;-)
stan. Pozdrowienia

 Odpowiedz na tę wiadomość
 Twoje Imię:
 Twój Email:
 Temat:
Odpowiedzi na tę wiadomość prześlij na powyższy adres email.
  




Manual | Skrypty | Artykuły | Projekty
Porady | Zasoby | Linki
Główna | Forum