Problem ze skryptem logowania.

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
Lampek
Posty: 1
Rejestracja: ndz sie 21, 2011 12:27 pm

Problem ze skryptem logowania.

Post autor: Lampek »

Witam
Z góry sory za bałagn w kodzie ale jest nowy w php i pisze trochę chaotycznie jeszcze.
Problem polega na tym, że coś nie chce mi trybić w dwóch skryptach, a mianowicie logowanie poprostu nie działa(uzytkownik jest utworzony w bazie prawidłowo) wyświetla mi się komunikat że "Zalogowanie niemozliwe. Należy być zalogowanym aby oglądać te stronę." ktory jest umieszczony w funkcji logowania.

Oto kod funkcji:
funkcja która jest uruchamiana po kliknięciu przycisku zaloguj

Kod: Zaznacz cały

<?php
 
session_start();
 
 
require_once('funkcje_all.php');
$nazwa_uz = $_POST['nazwa_uz'];
$haslo = $_POST['haslo'];
 
 
if ($nazwa_uz && $haslo) {
  try {
    loguj($nazwa_uz, $haslo);
    $_SESSION['prawid_uzyt'] = $nazwa_uz;
  }
  catch (Exception $e) {
    tworz_naglowek_html('Problem:');
	menu_top();
	tworz_header();
 
	tworz_menu();
 
 
    echo 'Zalogowanie niemożliwe.
          Należy być zalogowanym aby oglądać tę stronę.';	  
    tworz_url('logowanie.php', 'Logowanie');
 
 
 
    tworz_stopke();
    exit;
  }
}
 
tworz_naglowek_html('Strona główna');
sprawdz_prawid_uzyt();
tworz_naglowek_html('Problem:');
menu_top();
tworz_header();
 
towrz_menu();
 
if ($tablica_url = pobierz_urle_uzyt($_SESSION['prawid_uzyt'])) {
  wyswietl_urle_uzyt($tablica_url);
}
 
 
wyswietl_menu_uzyt();
 
 
tworz_stopke();
funkcja loguj()

Kod: Zaznacz cały

function loguj($nazwa_uz, $haslo) {
 
  $lacz = lacz_bd();
 
 
  $wynik = $lacz->query("select * from uzytkownik
                         where nazwa_uz='".$nazwa_uz."'
                         and haslo = sha1('".$haslo."')");
  if (!$wynik) {
     throw new Exception('Logowanie nie powiodło się.');
  }
 
  if ($wynik->num_rows>0) {
     return true;
  } else {
     throw new Exception('Logowanie nie powiodło się.');
  }
}
roiwew
Posty: 10
Rejestracja: śr sty 05, 2011 2:33 pm

Re: Problem ze skryptem logowania.

Post autor: roiwew »

Rozumiem że tworz_header() to funkcja przekierowująca, sprawdź sobie czy wywołują się akcje w ramach try i czy tworzy sesję. Bo może problem jest tylko z funkcją tworz_header().
ODPOWIEDZ