Strona 2 z 2

: 28 stycznia 2011, 13:42
autor: goska_23
<Bastian>
Kod:

Kod: Zaznacz cały

function loguj($nazwa_uz, $haslo)
// sprawdzenie nazwy u�ytkownika i has�a w bazie danych
// je�eli si� zgadza, zwraca true
// je�eli nie, zwraca false
{
  // po��czenie z baz� danych
  $lacz=lacz_bd();
  if(!$lacz)
{
 echo "polaczenie z BAAAZA DANYCH";
}
  // sprawdzenie unikatowo�ci nazwy u�ytkownika
  $wynik=mysql_query("select * from uzytkownik
                     where nazwa_uz='$nazwa_uz'
                     and haslo=password('$haslo')");
  if(!$wynik)
{
echo "sprawdzenie usera w bazie";
}


  if(mysql_num_rows($wynik)>0)
    return 1;
  else
    return 0;
}

:-)
<fnmirk>
Prawa dałam w wyniku problemów większe niż na Fedorze - tj. root:root 777 (do plików i katalogów)

: 29 stycznia 2011, 19:30
autor: Bastian
A

Kod: Zaznacz cały

if(!$wynik)
i

Kod: Zaznacz cały

!$lacz_db
to poprawne? W sensie negacje

: 30 stycznia 2011, 11:51
autor: piotrd14
Zamień wszystkie: na:

Kod: Zaznacz cały

<?php

: 30 stycznia 2011, 12:32
autor: Pacek
Ja bym sprawdził następujące rzeczy:
1. Czy działa PHP prawidłowo - przygotowanie pliku (np. index.php) i wprowadzenie w nim

Kod: Zaznacz cały

phpinfo();
2. Włączyć wyświetlanie błędów w php.ini:

Kod: Zaznacz cały

error_reporting=E_ALL
3. Spróbować połączenia z bazą danych

Kod: Zaznacz cały

mysql_connect("localhost","nazwa_uzytkownika","hasło") or die ("blad: ".mysql_error());
echo("Udało się połączyć");
Jeżeli wywali błąd tzn, że jest problem z połączeniem. No i takie dodatkowa aczkolwiek ważna informacja - MySQL domyślnie blokuje połączenia z hostów innych jak localhost. Tak więc próba połączenia do bazy danych z Debiana (PHP+Apache) do Fedory (MySQL) może się nie udać z tego właśnie powodu.


: 01 lutego 2011, 11:17
autor: goska_23
Pacek, test połączenia z mysql z Twojego skryptu wyszedł pozytywnie: "Udało się połączyć"
Próbuję coś pogrzebać w tym kodzie od czlonek.php co mi się nic nie wyświetla.

Dodane:
&quot pisze:3. Spróbować połączenia z bazą danych

Kod: Zaznacz cały

mysql_connect("localhost","nazwa_uzytkownika","hasło") or die ("blad: ".mysql_error());
echo("Udało się połączyć");
mysql_select_db("zak111") or die ("blad: ".mysql_error());
echo("Udało się połączyć nawet z bazą zak111");

Spróbowałam nawet tak i jest połączenie

: 01 lutego 2011, 14:47
autor: Bastian
goska_23: link

: 01 lutego 2011, 15:02
autor: Pacek
Na 99% jestem przekonany, że problemem jest tutaj zapis zmiennych wykorzystywanych w kodzie PHP. Może za to odpowiadać np. parametr register_globals w php.ini albo jeszcze kilka innych opcji. Ja bym zaczął od porównania pliku konfiguracyjnego php.ini z Fedory z tym na Debianie i wyeliminował różnice. Myślę, że to powinno rozwiązać problem.
Jeżeli używasz ciasteczek, to pamiętaj, że ciasteczka (cookies) uzależnione są od czasu. Jeżeli masz dużą różnicę czasu między klientem (przeglądarka która zakłada cookie) a serwerem (po którego stronie działa skrypt), to może się okazać, że ze względu na różnicę w czasie ciasteczko zostanie założona a następnie od razu usunięte ze względu na "pozorny" upływ czasu (wspomnianą różnicę czasu). Generalnie bez pełnego kodu źródłowego ciężko cokolwiek powiedzieć, ponieważ przedstawiona tu funkcja zwraca prawdę albo fałsz, ale nie wiadomo jak to jest dalej przetwarzane przez skrypt PHP.