Nie można si

Konfiguracja serwerów, usług, itp.
goska_23
Beginner
Posty: 277
Rejestracja: 04 września 2007, 13:40
Lokalizacja: Katowice

Post 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)
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

A

Kod: Zaznacz cały

if(!$wynik)
i

Kod: Zaznacz cały

!$lacz_db
to poprawne? W sensie negacje
piotrd14
Posty: 27
Rejestracja: 03 października 2010, 13:40
Lokalizacja: Kraków

Post autor: piotrd14 »

Zamień wszystkie: na:

Kod: Zaznacz cały

<?php
Pacek
Beginner
Posty: 315
Rejestracja: 18 sierpnia 2009, 15:17
Lokalizacja: Gdynia

Post 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.

goska_23
Beginner
Posty: 277
Rejestracja: 04 września 2007, 13:40
Lokalizacja: Katowice

Post 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
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

goska_23: link
Pacek
Beginner
Posty: 315
Rejestracja: 18 sierpnia 2009, 15:17
Lokalizacja: Gdynia

Post 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.
ODPOWIEDZ