Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> przykład z książki, książkorama
dekoder
post 22.08.2007, 13:31:18
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 28.05.2007

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


W książce PHP i MySQL Vadamecum Profesionalisty w przykładzie KOSZYKA INTERNETOWEGO KSIĄŻKORAMA (rozdział 27) nie działa mi logowanie admina czy ktoś miał podobny problem jeśli tak proszę o skonsultowanie.

Problem dokładnie tkwi w tym że przy wpisywaniu lginu i hasła wyświetla komunikat że : Zalogowanie niemożliwe.Należy być zalogowanym, aby przeglšdać tę stronę. a funkcje_bazy mam wypisane tak jak powinno być czy jeszcze gdzieś trzeba ustawić hasła, dane mysql ? W bazie danych mam wpisane poprawnie w admin login i hasło.
Go to the top of the page
+Quote Post
skowron-line
post 22.08.2007, 13:37:21
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


no to moze pokaz kod nie kazdemu sie chce siegac do ksiazki i sprawdzac, a tez ludzie moga jej wogole nie miec


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
nospor
post 22.08.2007, 14:09:36
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




forumowa wrózka mowi czarodziej.gif :
......uuuu.... W ksiązce uzywają register_globals.... uuuuu..... a u ciebie jest ono wylączone....uuuuu.... i dlatego tobie nie dziala......uuuuuuuuu.....
Nalezy do zmiennych z forma odwolywac sie tak: $_POST['zmienna'] .....uuuu..... a nie $zmienna .....uuuu....


To jedna z przyczyn nie dzialania. Moze są inne, ale wrózce kula sie zamglila i nic juz nie widzi smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dekoder
post 22.08.2007, 15:50:00
Post #4





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 28.05.2007

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


Hej.

Korzystam z krasnal serv, a register globals mam domyślnie ustawione, czyli na ON.

<?php

// dołączenie plików funkcji tej aplikacji
require_once('funkcje_ksiazka_kz.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 (loguj($nazwa_uz, $haslo))
{
// jeżeli w bazie danych, zgłoszenie identyfikatora użytkownika
$HTTP_SESSION_VARS['uzyt_admin'] = $nazwa_uz;
}
else
{
// niepomyślne logowanie
tworz_naglowek_html('Problem:');
echo 'Zalogowanie niemożliwe.Należy być zalogowanym, aby przeglądać tę stronę.<br />';
tworz_html_url('logowanie.php', 'Logowanie');
tworz_stopke_html();
exit;
}
}

tworz_naglowek_html('Administracja');
if (sprawdz_uzyt_admin())
wyswietl_menu_admin();
else
echo 'Brak autoryzacji do wejścia na obszar administracyjny.';

tworz_stopke_html();

?>

to kod logowania, jak go przerobic ?

a mój plik funkcje_bazy :

<?php

function lacz_bd()
{
$wynik = @mysql_pconnect('localhost', 'root', 'krasnal');
if (!$wynik)
return false;
if (!@mysql_select_db('ksiazka_kz'))
return false;
return $wynik;
}

function wynik_bd_do_tablicy($wynik)
{
$tablica_wyn = array();

for ($licznik=0; $rzad = @mysql_fetch_array($wynik); $licznik++)
$tablica_wyn[$licznik] = $rzad;

return $tablica_wyn;
}

?>
Go to the top of the page
+Quote Post
skowron-line
post 22.08.2007, 16:53:40
Post #5





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


po 1 primo uzywac odpowiedniego bbcode po 2 primo robisz cos takiego
  1. <?phpf (loguj($nazwa_uz, $haslo)){// jeżeli w bazie danych, zgłoszenie identyfikatora użytkownika$HTTP_SESSION_VARS['uzyt_admin'] = $nazwa_uz;}else{// niepomyślne logowanietworz_naglowek_html('Problem:');echo 'Zalogowanie niemożliwe.Należy być zalogowanym, aby przeglądać tę stronę.<br />';tworz_html_url('logowanie.php', 'Logowanie');tworz_stopke_html();exit;}?>
i odwolujesz sie do jakiejs funkcji loguj() ale nie zauwazylem zebys ja pokazal na forumpo 1 primo uzywac odpowiedniego bbcode po 2 primo robisz cos takiego
  1. <?phpf (loguj($nazwa_uz, $haslo)){// jeżeli w bazie danych, zgłoszenie identyfikatora użytkownika$HTTP_SESSION_VARS['uzyt_admin'] = $nazwa_uz;}else{// niepomyślne logowanietworz_naglowek_html('Problem:');echo 'Zalogowanie niemożliwe.Należy być zalogowanym, aby przeglądać tę stronę.<br />';tworz_html_url('logowanie.php', 'Logowanie');tworz_stopke_html();exit;}?>
i odwolujesz sie do jakiejs funkcji loguj() ale nie zauwazylem zebys ja pokazal na forum


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
dekoder
post 22.08.2007, 17:45:36
Post #6





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 28.05.2007

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


Oto funkcja loguj i inna odpowiedzialna za logowanie:
Kod
<?phprequire_once('funkcje_bazy.php');function loguj($nazwa_uz, $haslo)// sprawdzenie nazwy użytkownika i hasła w bazie danych// jeżeli tak, zwraca true// w przeciwnym wypadku false{  // łączenie z bazą danych  $lacz = lacz_bd();  if (!$lacz)    return 0;  // sprawdzenie unikatowości nazwy użytkownika  $wynik = mysql_query("select * from admin                          where nazwa_uz='$nazwa_uz'                         and haslo = password('$haslo')");  if (!$wynik)     return 0;    if (mysql_num_rows($wynik)>0)     return 1;  else      return 0;}function sprawdz_uzyt_admin()// sprawdzenie zalogowanie i powiadomienie, jeżeli nie{  global $HTTP_SESSION_VARS;  if (isset($HTTP_SESSION_VARS['uzyt_admin']))    return true;  else    return false;}function zmien_haslo($nazwa_uz, $stare_haslo, $nowe_haslo)// zmiana hasła użytkownika// zwraca true lub false{  // jeżeli stare hasło prawidłowe  // zmiana hasła na nowe_haslo i zwraca true  // w przeciwnym wypadku false  if (loguj($nazwa_uz, $stare_haslo))  {    if (!($lacz = lacz_bd()))      return false;    $wynik = mysql_query( "update admin                             set haslo = password('$nowe_haslo')                            where nazwa_uz = '$nazwa_uz'");    if (!$wynik)      return false;  // brak zmian    else      return true;  // zmiana pomyślna  }  else    return false; // nieprawidłowe stare hasło}?>
może to wina configa ?
Kod
// sprawdzenie unikatowości nazwy użytkownika  $wynik = mysql_query("select * from admin                          where nazwa_uz='$nazwa_uz'                         and haslo = '$haslo'"
thx
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 23.06.2025 - 13:28