Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Na localhost działa natomiast na zwyklym serwerze nie :(
Legro
post 10.09.2006, 17:18:26
Post #1





Grupa: Zarejestrowani
Postów: 233
Pomógł: 3
Dołączył: 18.07.2005

Ostrzeżenie: (40%)
XX---


Witam wszystkich serdecznie,
Napisałem sobie skrypt z panelem administracyjnym. Pisalem go na localhoscie.

Na localhoscie wszystko dziala poprawnie, wpisuje dane do panelu administracyjnego i mnie loguje. Natomiast gdy wgralem wszystkie pliki na wykupiony serwer za nic nie moge sie zalogowac do panelu admina, wpisuje poprawne dane i nic. Co moze byc tego przyczyna? Zly serwer czy co?

Prosze o pomoc...


--------------------
nospor - jestem z Wami !!!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
bartek-z
post 10.09.2006, 17:28:03
Post #2





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 8.08.2004

Ostrzeżenie: (0%)
-----


Podobne problemy pojawiaja sie zazwyczaj w przypadku:
1. Atrybuty plikow/katalogow
2. W plikach masz odnosniki typu: c:\serwer\strona\plik.php, ktore na wykupionym serwerze nie prowadza do odpowiedniego pliku...
3. Uzywasz bibliotek, ktorych nie ma na serwerze
4. Kozystasz z bazy danych i masz nieodpowiednie dane (haslo/login).
Go to the top of the page
+Quote Post
Legro
post 10.09.2006, 17:40:54
Post #3





Grupa: Zarejestrowani
Postów: 233
Pomógł: 3
Dołączył: 18.07.2005

Ostrzeżenie: (40%)
XX---


Ad1 - uprawnienia plików i katalogów mam na pewno dobre,
Ad2 - nie mam takich odnośnikow, wszystkie odnosniki mam definiowane jako stałe, php znam od kilku miesiecy wiec nie popelnilbym takiego błedu,
Ad3 - nie uzywam żadnych bibliotek typu GD itp. Korzystam jedynie ze Smarty.
Ad4 - tak, z bazy danych korzystam, MySQL, ale login i hasło są poprawne, wręcz takie same jak na localhoscie.

Domniemam że może to być wina register_globals, ale nie jestem pewien.
Na localhoscie jest register_globals=on i korzystam ze zmiennych superglobalnych typu $_POST $_GET $_SESSION itp.
Natomiast na wykupionym jest register_globals=off
I korzystam tez ze zmiennych superglobalnych.

Wiec juz nie wiem w czym problem :/


--------------------
nospor - jestem z Wami !!!
Go to the top of the page
+Quote Post
kossa
post 10.09.2006, 17:41:22
Post #4





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Jeśli nie pojawiają się Tobie żadne błędy to włącz je w swoim panelu i wtedy będziesz miał jasność co jest nie tak.

Łukasz


--------------------
Go to the top of the page
+Quote Post
Legro
post 10.09.2006, 17:44:24
Post #5





Grupa: Zarejestrowani
Postów: 233
Pomógł: 3
Dołączył: 18.07.2005

Ostrzeżenie: (40%)
XX---


kossa - w tym pliku do logowania do panelu admina mam opcje ze jak nie wypelnie wszystkich pol to wysiwetla error. Wpisuje poprawne dane do formularza i daje OK. Nie loguje mnie tylko pisze Wypelnij wszystkie pola formularza. Natomiast na localhoscie dziala wszystko jak powinno.

Cos mi sie wydaje ze skrypt nie przesyla zmiennych czy cos.

Jak to naprawic?


--------------------
nospor - jestem z Wami !!!
Go to the top of the page
+Quote Post
kossa
post 10.09.2006, 17:49:33
Post #6





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

Ostrzeżenie: (0%)
-----


1. Jaka motodą przesyłasz dane (get, post)?
2. Sprawdz czy Twój skrypt wogóle je odbiera (echo)
3. Co robiasz aby ustalicz czy user jest zalgoowany (sesje,cookies)?
4. Sprawdz sesje,cookies są tworzone
5. Podaj na forum odpowiednie fragmenty Twojego kodu - bez tego nie jesteśmy wstanie pomóc - powodów nie działania może być X

Łukasz


--------------------
Go to the top of the page
+Quote Post
Legro
post 10.09.2006, 18:53:08
Post #7





Grupa: Zarejestrowani
Postów: 233
Pomógł: 3
Dołączył: 18.07.2005

Ostrzeżenie: (40%)
XX---


Ad1 - dane z formularza przesyłam przez $_POST
Ad2 - ok
Ad3 - używam do tego sesji
Ad4 - ok
Ad5 - poniżej...

Kod do logowania admina:

  1. <?php
  2. require_once '../common_adm.php';
  3.  
  4.  
  5. $res = mysql_query (" Select * From `admin` ");
  6. $array = mysql_fetch_array ($res);
  7.  
  8. if ( $_POST['login'] == '' or $_POST['password'] == '' ) {
  9.  
  10. $c = 'Nalezy wypelnic wszystkie pola formularza.';
  11.  
  12. } elseif ( $_POST['login'] == $array['login'] && ( md5 ( $_POST['password'] ) == $array['password'] )) {
  13.  
  14. $_POST['login'] = $login;
  15. $_SESSION['Admin'] = $login;
  16.  
  17. header ('Location: admin.php');
  18.  
  19. } else {
  20.  
  21. $c = 'Wpisz poprawny login i haslo administratora.';
  22.  
  23. }
  24. ?>


Potem sobie definiuje zmienna $c i wyswietlam w smarty.

Nikt nie pomoze?


--------------------
nospor - jestem z Wami !!!
Go to the top of the page
+Quote Post
kossa
post 10.09.2006, 18:56:25
Post #8





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

Ostrzeżenie: (0%)
-----


tak na szybko:

  1. <?php
  2. else if (($_POST['login'] == $array['login']) && (md5($_POST['password'])==$array['password'] ))
  3. ?>


poza tym czy nie lepiej odwrócić kolejność w kodzie i zapytanie wykonywać jak są już dane z formularza pzresłane - bo jeśli jest pusto w formularzu to po co wyszukiwać czegoś i obciązać skrypt? i zrobić tak

  1. <?php
  2. $res = mysql_query (" Select * From `admin` where login=".$_POST['login']." and haslo=".$_POST['haslo']." ");
  3. $ile=mysql_num_rows($res);
  4.  
  5. if ($ile>0){ // to zalogwany }
  6. else echo "nie zalogowany";
  7. ?>

to tak na szybko dla przykladu teraz, tak bedzie lepiej, optymalniej

Łukasz


--------------------
Go to the top of the page
+Quote Post
Legro
post 10.09.2006, 19:47:52
Post #9





Grupa: Zarejestrowani
Postów: 233
Pomógł: 3
Dołączył: 18.07.2005

Ostrzeżenie: (40%)
XX---


Ale czy to pomoze w naprawie skryptu? Raczej watpie, ale sprawdze.


--------------------
nospor - jestem z Wami !!!
Go to the top of the page
+Quote Post
Rafał U.
post 11.09.2006, 13:42:54
Post #10





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Polska

Ostrzeżenie: (0%)
-----


Wydaje mi się, że to coś ze zmiennymi. Spróbuj zamienić ten kawałek kodu:

  1. <?php
  2. $_POST['login'] = $login;
  3. $_SESSION['Admin'] = $login;
  4. ?>


Na ten:

  1. <?php
  2. $login = $_POST['login'];
  3. $login = $_SESSION['Admin'];
  4. ?>


Powinno raczej działać :]


--------------------
Pozdrawiam serdecznie,
Rafał U.
Go to the top of the page
+Quote Post
kossa
post 11.09.2006, 13:50:23
Post #11





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

Ostrzeżenie: (0%)
-----


@Rafał U. masz rację ale nie do końca.

<?php
$_POST['login'] = $login; //nie zwróciłem na to uwagę ale żeczywiście tak nie można - jest to niedopuszczalne

$_SESSION['Admin'] = $login; //to jest ok jeśli chciał wartość zmiennej $login przyisać do zmiennej sesji ale nie wiemy co autor skryptu chciał osiągnąć
?>

Pozdrawiam,
Łukasz


--------------------
Go to the top of the page
+Quote Post
Rafał U.
post 11.09.2006, 13:57:20
Post #12





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Polska

Ostrzeżenie: (0%)
-----


Tak to jest, jeżeli ktoś chce przypisać istniejącą zmienną do nieistniejącej winksmiley.jpg Co do drugiego punktu to tak też może być.

Ten post edytował Rafał U. 11.09.2006, 13:57:54


--------------------
Pozdrawiam serdecznie,
Rafał U.
Go to the top of the page
+Quote Post
Legro
post 13.09.2006, 20:16:09
Post #13





Grupa: Zarejestrowani
Postów: 233
Pomógł: 3
Dołączył: 18.07.2005

Ostrzeżenie: (40%)
XX---


hhe. fajnie dzieki wam działa smile.gif zrobilem tylko to co podał Rafał U.


--------------------
nospor - jestem z Wami !!!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 17:08