Posiadam autoryzację http opartą na pobieraniu loginu i hasła z bazy mysql. U mnie na localhoscie wszystko ładnie śmiga,ale jak wgrywam na wirtualny serwer to nie chce się zalogować. Oczywiście nie muszę pisać, że baza jest odpowiednio przeniesiona i wygląda indetycznie...
Plik autoryzacja.php
  1. <?php
  2.  
  3. $authorized = FALSE;
  4.  
  5. // Sprawdzanie, czy zostały wprowadzone dane wymagane do autoryzacji.
  6. if ( (isset($_SERVER['PHP_AUTH_USER']) || isset($_SERVER['PHP_AUTH_PW'])) ) {
  7.  
  8. //ustawienie jako stałych parametrów udzielających dostepu do bazy danych.
  9.  
  10. DEFINE ('DB_USER', '***');
  11. DEFINE ('DB_PASSWORD', '***');
  12. DEFINE ('DB_HOST', '***');
  13. DEFINE ('DB_NAME', '***');
  14.  
  15. $dbc = @mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) OR die ('Nie było możliwe połączenie z serwerem MySQL: ' . mysql_error() );
  16. mysql_select_db(DB_NAME) OR die ('Nie było możliwe wybranie bazy danych: ' . mysql_error() );
  17.  
  18. //Wysyłanie zapytania do bazy danych
  19. $query="SELECT first_name FROM admin WHERE username='{$_SERVER['PHP_AUTH_USER']}' AND password=PASSWORD('{$_SERVER['PHP_AUTH_PW']}')";
  20. $result=mysql_query($query);
  21. $row = @mysql_fetch_array($result);
  22. if($row) { //jeśli rekord zostanie zwrócony...
  23. $authorized = TRUE;
  24. } else {
  25. echo "cos zle z baza!";
  26. }
  27. } 
  28. //gdy nie zostanie przeprowadzona autoryzacja,zostanie wyświetlone odpowiednie okn
  29.  
  30. if ($authorized==FALSE) {
  31. header('WWW-Authenticate: Basic realm="Moja strona internetowa"');
  32. header('HTTP/1.0 401 Unauthorized'); //Używane gdy zostanie kliknięty przycisk Cancel
  33. }
  34. ?>


do każdego pliku do którego ma być dostęp dołączam:
  1. <?php
  2. //Wymagane jest przeprowadzenie autoryzacji
  3. require_once('autoryzacja.php');
  4.  
  5. ?>

oraz w sekcji <head></head>
  1. <?php
  2. //Wyświetla komunikat w zależności od tego, czy została przeprowadzona autoryzacja
  3.  
  4. if(!$authorized)
  5. {
  6. echo '<p>Proszę podać poprawną nazwę konta i hasło! Aby spróbować ponownie, należy kl
  7. knąć odnośnik <a href="admin.php"><b>tutaj!</b></a></p>';
  8. } else {
  9. echo "<h3>Panel administracyjny</h3>";
  10. echo 'Autoryzacja została przeprowadzona prawidłowo!</br>';
  11. $user = strtoupper($_SERVER['PHP_AUTH_USER']);
  12. echo 'Witaj<b> '.$user.'</b>!!!</br></br>';
  13. ?>


czy to coś związane z serwerem, a może plikiem .htaccess. Googlowałem,ale niestety nie znalazłem podobnych zagadnień z pobieraniem danych do autoryzacji z bazy mysql. Czuje, że to proste do rozwiązania, a ja nie wiem jakiejś bardzo istotnej/podstawowej sprawy tongue.gif