Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Dlaczego logowanie nie działa na serwerz
Forum PHP.pl > Forum > Przedszkole
marekpb
Witam ! Mam kolejny problem, którego nie jestem wstanie rozwiązać sam. Napisałem własny mały system CMS, wszystko pięknie działa na localhost [WebServ] lecz gdy wgram na serwer to zaczyna się problem. Gdy chcę się zalogować to nie rozpoznaje użytkownika. Dlaczego tak jest ? Byłbym wam wdzięczny za odpowiedź. Zapewne jest tam jakaś banalna rzecz, ale jak nie mogę jej znaleźć. Proszę o pomoc. Oto część kodu:

  1. <?php
  2. require("konfiguracja.php");
  3.  
  4. $connect = mysql_connect($db_host, $db_user, $db_pass ) or die(mysql_error);
  5. $connect_db = mysql_select_db($db_name) or die(mysql_error);
  6.  
  7. if($_POST['submit']) {
  8. $sql = "SELECT * FROM administrator WHERE nazwa_uzytkownika = '" . $_POST['nazwa_uzytkownika'] . "' AND haslo = '" . $_POST['haslo'] . "';";
  9.  
  10. $result = mysql_query($sql);
  11. $numrows = mysql_num_rows($result);
  12.  
  13. if($numrows == 1) {
  14.    $row = mysql_fetch_assoc($result);
  15.    session_register("USERNAME");
  16.    session_register("USERID");
  17.    
  18.    $_SESSION['USERNAME'];
  19.    $_SESSION['USERID'];
  20.    
  21.    header("Location: " . $config_basedir . "/pa.php");
  22. }
  23. else {
  24.    header("Location: " . $config_basedir . "/logowanie.php?error=1");
  25. }
  26. }
  27. else {
  28.  
  29. if($_GET['error']) {
  30.    echo "Nieudana operacja logowania. Proszę spróbować ponownie!";
  31. }
  32. }
  33.  
  34. ?>
tomsi
1. http://forum.php.pl/index.php?s=&showt...st&p=246734
Punkt 10

2. Zobacz czy połączenie z bazą jest ok. Ja mialem kiedyś tak, że bazę miałem na jedyn serwerze darmowym a skrypty na innym i nie działało poprawnie.

3. Sprawdź czy poprawnie definiujesz pola z bazy.
marekpb
1. Z tego co patrze to niby jest wszystko OK. Ale ktoś kto się zna na tym to mógłby zobaczyć jeszcze na to ? OKI ?

2. Połączenie z bazą danych jest OK bo odczytuje inne elementy z bazy na stronie głównej.

3. Chyba dobrze bo baza danych jest zaimportowana więc wszystko jest tak samo.

Czy mógłby ktoś "rzucić okiem" na ten kod czy wszystko jest w nim dobrze ? Z góry dzięki.
tomsi
  1. <?php
  2. $sql = "SELECT * FROM administrator WHERE nazwa_uzytkownika = '" . $_POST['nazwa_uzytkownika'] . "' AND haslo = '" . $_POST['haslo'] . "';";
  3. ?>


COś chyba tutaj jest dużo " ' ;. Tak mi się wydaje. A na localu to działa w takiej samej formie?
marekpb
Cytat(tomsi @ 28.12.2008, 23:12:19 ) *
  1. <?php
  2. $sql = &#092;"SELECT * FROM administrator WHERE nazwa_uzytkownika = '\" . $_POST['nazwa_uzytkownika'] . \"' AND haslo = '\" . $_POST['haslo'] . \"';\";
  3. ?>


COś chyba tutaj jest dużo " ' ;. Tak mi się wydaje. A na localu to działa w takiej samej formie?


Tak. Na localhost działa wszystko dobrze w takiej formie.
darkkarlos
Jeśli na localhost było dobrze to raczej wina innej konfiguracji serwera. Musisz jawnie krok po kroku powypisywać wartości zmiennych i zobaczyć co się dzieje z nimi w każdym kolejnym kroku tego skryptu.
KCG
A masz wpisanych userów w bazie na serwerze?
marekpb
Cytat(KCG @ 29.12.2008, 13:56:55 ) *
A masz wpisanych userów w bazie na serwerze?


Tak mam. Ale udało mi się zrobić z tym. Sorry, zapomniałem wam napisać co było nie tak. Już pisze, oto kod:

  1. <?php
  2. require("konfiguracja.php");
  3.  
  4. $connect = mysql_connect($db_host, $db_user, $db_pass ) or die(mysql_error);
  5. $connect_db = mysql_select_db($db_name) or die(mysql_error);
  6.  
  7. if($_POST['submit']) {
  8. $sql = "SELECT * FROM administrator WHERE nazwa_uzytkownika = '" . $_POST['nazwa_uzytkownika'] . "' AND haslo = '" . $_POST['haslo'] . "';";
  9.  
  10. $result = mysql_query($sql);
  11. $numrows = mysql_num_rows($result);
  12.  
  13. if($numrows == 1) {
  14.    $row = mysql_fetch_assoc($result);
  15.    
  16.    session_register("USERNAME");
  17.                
  18.    $_SESSION['USERNAME'] = $row['nazwa_uzytkownika'];
  19.    
  20.    header("Location: " . $config_basedir . "/pa.php");
  21. }
  22. else {
  23.    header("Location: " . $config_basedir . "/admin.php?error=1");
  24. }
  25. }
  26. else {
  27.    if($_GET['error']) {
  28.    echo "<p align='center'>Nieudana operacja logowania. Proszę spróbować ponownie!</p>";
  29. }
  30. }
  31. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.