Reklama
Pokazuje wyniki od 1 do 9 z 9

Temat: [PHP]Z localhosta na serwer

  1. #1

    Data rejestracji
    2012
    Położenie
    Tu i tam
    Wiek
    21
    Posty
    290
    Siła reputacji
    12

    Domyślny [PHP]Z localhosta na serwer

    Witam.
    Pisze pewną apke i napotkałem problem.
    Cały czas robiłem ją na localhost'cie, domyślych ustawieniach XAMPP'a.
    Wszystko wyświetlało tak jak powinno, lecz gdy wrzuciłem na serwer aplikacja zatrzymuje się na funkcji której kod zamieściłem na dole.
    Pytanie moje brzmi, czy użyłem jakichś funkcji które mogą być poblokowane na serwerze, a domyślnie są dostępne?

    #edit
    aww shit, ale się rozmieściło w tagach :X

    Kod:
    function twoje_belki()
    {
        echo "<div class=\"twoje_belki_lista\">";
        twoje_belki_funkcja();
        echo "</div>";
    }
    function twoje_belki_funkcja()
    {
    include("/../DB/db_connect.inc.php");
    //pobiera wszystkie tablice zakodowane na json z bazy danych wylosowane
        $pobierz_losowania_zapytanie    =    "SELECT wylosowane FROM losowanie WHERE id='1'";
                $pobrane_losowania         =    $obj_connect_db->query($pobierz_losowania_zapytanie, MYSQLI_STORE_RESULT);
                while (list($pobierz_losowania_zakodowane) = $pobrane_losowania->fetch_row())
                {
                $pobrane_losowania_odkodowane    =    json_decode($pobierz_losowania_zakodowane, true);
                }
    //pobiera wszystkie tablice bar ktore sa zakodowane na json, z bazy danych uzytkownicy
        $nazwa_uzytkownika                    =    $_SESSION["sesyjna_nazwa_uzytkownika"];
        $pobierz_belki_aktywne_zapytanie  =    "SELECT bar FROM uzytkownicy WHERE username='$nazwa_uzytkownika'";
        $pobrane_belki_aktywne               =    $obj_connect_db->query($pobierz_belki_aktywne_zapytanie, MYSQLI_STORE_RESULT);
        
            while(list($belki_aktywne_zakodowane) = $pobrane_belki_aktywne->fetch_row())
            {
            $belki_aktywne_odkodowane    =    json_decode($belki_aktywne_zakodowane, true);
            }
                $policzone_belki_aktywne = count($belki_aktywne_odkodowane);
                if($policzone_belki_aktywne > 0)
                {
                    if($policzone_belki_aktywne <= 10)
                    {
                    $licznik = $policzone_belki_aktywne-1;
                    }
                    else
                        {
                        $licznik = 11;
                        }
        
                    $belki_aktywne_tablica_odwrocona    =    array_reverse($belki_aktywne_odkodowane);
                        for ($belka = 0; $belka <= $licznik; $belka++)
                        {
                            if($belka % 2 == 0)
                            {
                            echo "<div id=\"belka\">\n";
                            echo "<div id=\"belka_podklad\">\n";
                            echo "<div id=\"data_dodania_belki\">";
                            print_r ($belki_aktywne_tablica_odwrocona[$belka]["data"]);
                            echo "</div>";
                            }
                            else
                                {
                                echo "<div id=\"belka2\">\n";
                                echo "<div id=\"belka_podklad\">\n";
                                echo "<div id=\"data_dodania_belki\">";
                                print_r ($belki_aktywne_tablica_odwrocona[$belka]["data"]);
                                echo "</div>";
                                }
                                for($numer=1;$numer<=6;$numer++)
                                {
                                echo "<div id=\"numer\">\n";
                                echo "<span id=\"numer\">";
                                print_r ($belki_aktywne_tablica_odwrocona[$belka]["n". $numer]);
                                echo "</span>";
                                echo "\n</div>\n";
                                }
                                echo "</div>\n";
                                echo "</div>\n";
                                echo "<div id=\"belka_info\">";
                                    if($belki_aktywne_tablica_odwrocona[$belka]["sprawdzone"] == 0)
                                    {
                                    echo "<div id=\"oczekuje\"></div>";
                                    }
                                    else
                                        {
                                        echo "<div id=\"sprawdzone\"></div>";
                                        if($belki_aktywne_tablica_odwrocona[$belka]["nagrodzone"] == 0)
                                        {
                                        $id_losowania = $belki_aktywne_tablica_odwrocona[$belka]["id"];
                                        echo "<a href=\"?strona=sprawdz_belke&sprawdz_id=$id_losowania&belka=$belka\"><div id=\"plus\"></div></a>";
                                        }
                                        else
                                            {
                                            if($belki_aktywne_tablica_odwrocona[$belka]["punkty"] !== 0)
                                                {
                                                echo "<div id=\"dodane_punkty\">";
                                                echo "+";
                                                print_r($belki_aktywne_tablica_odwrocona[$belka]["punkty"]);
                                                echo "pkt";
                                                echo "</div>";
                                                }
                                                else
                                                    {
                                                    echo "0pkt";
                                                    }
                                            }
                                        }
                                echo "</div>";
                        }
                }else
                        {
                        echo "Pusto";
                        
                        }
                
    }
    Najgorsze jest to, że parser nie wywala błędu, tylko po prostu ucina strone w momencie rozpoczęcia funkcji twoje_belki_funkcja();
    Czyli strona kończy się na:
    echo "<div class=\"twoje_belki_lista\">";
    i tyle, reszta jest ucięta w kodzie źródłowym, stopka, zamykanie tagów </body> czy </html> też wycięte.
    Co może być przyczyną?
    Wyprzedzę pytania, z bazą danych łączy - testowałem, zmieniałem wartości przez skrypt, pearl również jest, testowałem już json na osobnym pliku.


    @edit
    Powklejałem echo linijka po linijce i dopiero za:
    Kod:
    $pobrane_losowania	=	$obj_connect_db->query($pobierz_losowania_zapytanie, MYSQLI_STORE_RESULT);
    nie wyświetliło tekstu, więc domyślam się, że z wykonaniem zapytania jest coś nie tak, ale to musi być totalna bzdura, bo przy funkcji logowania użyłem tej samej formułki i loguje się normalnie na konto które jest w bazie danych - pobiera dane z db tak jak powinno.
    Ostatnio zmieniony przez Abe : 29-11-2013, 13:53

  2. #2
    Avatar Bazan
    Data rejestracji
    2008
    Wiek
    31
    Posty
    1,909
    Siła reputacji
    18

    Domyślny

    Cytuj Abe napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.

    Kod:
    
    include("/../DB/db_connect.inc.php");
    Nie jestem pewny ale chyba o to chodzi.
    Odwolanie do katalogu glownego serwera, a pozniej o katalog wyzej od niego - nie ma takiego.

    Zrób include("../DB....

    Zamiast include("/../...

    Używasz funkcji z tego pliku, a ten plik nie byl wczytany. Jakbys zrobil require to by ci wywalilo blad ze nie moze wczytac.

    I nie wiem czy takie cos nie powinno byc wczytano jako include_once (lub require_once) zeby nie wczytywac pliku jesli byl wczesniej wczytany, zeby nie spowodowac bledu utworzenia funkcji ktore juz sa zadeklarowane.
    Ostatnio zmieniony przez Bazan : 29-11-2013, 14:09
    Dreaming by drumming. ˆˆ™

  3. Reklama
  4. #3

    Data rejestracji
    2012
    Położenie
    Tu i tam
    Wiek
    21
    Posty
    290
    Siła reputacji
    12

    Domyślny

    Po zmianie:

    Na localhost:
    Warning: include(../DB/db_connect.inc.php): failed to open stream: No such file or directory inW:\xampp\htdocs\bol\inc\funkcje\funkcja_twoje_belk i.inc.php on line 13
    na serwerze, bez zmian, bez erroru, nic. Ścieżka jest poprawna, musi być, bo inne funkcje które używają tych samych reguł działają poprawnie, tylko ta wysypuje się.

    Jak włączyć na serwerze takim zwykłym obsługe błędów? Lista dostępnych opcji w hostingu jest tutaj:
    http://www.pdg.pl/index.php?adminpanel=oferta

    Ręce opadają, przecież to jest nielogiczne, że w jednej funkcji te reguły działają a w drugiej nie...

    Po zmianie include() na include_once() w localhost:
    Notice: Undefined variable: obj_connect_db inW:\xampp\htdocs\bol\inc\funkcje\funkcja_twoje_belk i.inc.phpon line 16

    Fatal error: Call to a member function query() on a non-object inW:\xampp\htdocs\bol\inc\funkcje\funkcja_twoje_belk i.inc.phpon line 16
    na serwerze brak zmian.

    a po usunięciu pierwszego slasha z ścieżki bazy dancyh na localhost:
    Warning: include_once(../DB/db_connect.inc.php): failed to open stream: No such file or directory inW:\xampp\htdocs\bol\inc\funkcje\funkcja_twoje_belk i.inc.phpon line 13

    Warning: include_once(): Failed opening '../DB/db_connect.inc.php' for inclusion (include_path='.;W:\xampp\php\PEAR') inW:\xampp\htdocs\bol\inc\funkcje\funkcja_twoje_belk i.inc.phpon line 13

    Notice: Undefined variable: obj_connect_db inW:\xampp\htdocs\bol\inc\funkcje\funkcja_twoje_belk i.inc.phpon line 16

    Fatal error: Call to a member function query() on a non-object inW:\xampp\htdocs\bol\inc\funkcje\funkcja_twoje_belk i.inc.phpon line 16
    na serwerze brak zmian.

    Zgłupiałem całkiem.

    @edit

    Żeby było śmieszniej, kod funkcji który jest w tym samym folderze co powyższa:

    Kod:
    if (isset($numer1) && $numer2 && $numer3 && $numer4 && $numer5 && $numer6)
    {
    session_start();
    include_once("../DB/db_connect.inc.php");
        $nazwa_uzytkownika            =    $_SESSION["sesyjna_nazwa_uzytkownika"];
        $dostepne_belki_zapytanie    =    "SELECT dostepne_belki FROM uzytkownicy WHERE username='$nazwa_uzytkownika'";
        $pobrane_dostepne_belki        =    $obj_connect_db->query($dostepne_belki_zapytanie, MYSQLI_STORE_RESULT);
            while (list($dostepne_belki) = $pobrane_dostepne_belki->fetch_row())
            {}
    i działa tak jak mu nakazałem :x
    @e2
    Dochodzę jednak do wniosku, że coś musi być na rzeczy z funkcja include();
    Ostatnio zmieniony przez Abe : 29-11-2013, 14:38

  5. #4

    Data rejestracji
    2010
    Posty
    2,657
    Siła reputacji
    16

    Domyślny

    Cytuj Abe napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Po zmianie:

    Na localhost:

    na serwerze, bez zmian, bez erroru, nic. Ścieżka jest poprawna, musi być, bo inne funkcje które używają tych samych reguł działają poprawnie, tylko ta wysypuje się.

    Jak włączyć na serwerze takim zwykłym obsługe błędów? Lista dostępnych opcji w hostingu jest tutaj:
    http://www.pdg.pl/index.php?adminpanel=oferta

    Ręce opadają, przecież to jest nielogiczne, że w jednej funkcji te reguły działają a w drugiej nie...

    Po zmianie include() na include_once() w localhost:


    na serwerze brak zmian.

    a po usunięciu pierwszego slasha z ścieżki bazy dancyh na localhost:


    na serwerze brak zmian.

    Zgłupiałem całkiem.

    @edit

    Żeby było śmieszniej, kod funkcji który jest w tym samym folderze co powyższa:

    Kod:
    if (isset($numer1) && $numer2 && $numer3 && $numer4 && $numer5 && $numer6)
    {
    session_start();
    include_once("../DB/db_connect.inc.php");
        $nazwa_uzytkownika            =    $_SESSION["sesyjna_nazwa_uzytkownika"];
        $dostepne_belki_zapytanie    =    "SELECT dostepne_belki FROM uzytkownicy WHERE username='$nazwa_uzytkownika'";
        $pobrane_dostepne_belki        =    $obj_connect_db->query($dostepne_belki_zapytanie, MYSQLI_STORE_RESULT);
            while (list($dostepne_belki) = $pobrane_dostepne_belki->fetch_row())
            {}
    i działa tak jak mu nakazałem :x
    @e2
    Dochodzę jednak do wniosku, że coś musi być na rzeczy z funkcja include();
    sprobuj tak moze
    Kod:
    include("./../DB/db_connect.inc.php");
    @Edit
    W ogole nie obraz sie ale ten kod piecze w oczy ;d wyczysc go troche

  6. #5

    Data rejestracji
    2012
    Położenie
    Tu i tam
    Wiek
    21
    Posty
    290
    Siła reputacji
    12

    Domyślny

    Cytuj Havaran napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    sprobuj tak moze
    Kod:
    include("./../DB/db_connect.inc.php");
    @Edit
    W ogole nie obraz sie ale ten kod piecze w oczy ;d wyczysc go troche
    Nadal:
    Warning: include(./../DB/db_connect.inc.php): failed to open stream: No such file or directory inW:\xampp\htdocs\bol\inc\funkcje\funkcja_twoje_belk i.inc.phpon line 13
    Za dużo kombinowania z tą ścieżką do DB. Problem musi leżeć gdzieś indziej. :(
    Co mam wyczyścić, naprowadź mnie trochę. :)
    Ostatnio zmieniony przez Abe : 29-11-2013, 14:46

  7. #6

    Data rejestracji
    2010
    Posty
    2,657
    Siła reputacji
    16

    Domyślny

    Cytuj Abe napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Nadal:

    Za dużo kombinowania z tą ścieżką do DB. Problem musi leżeć gdzieś indziej. :(
    Co mam wyczyścić, naprowadź mnie trochę. :)
    Ten sam kod wyczyszczony przezemnie ( tak do polowy, potem mi sie odechcialo ;d ):
    Kod:
    <?php
    include_once("/../DB/db_connect.inc.php");
    
    function twoje_belki()
    {
        echo "<div class=\"twoje_belki_lista\">";
        
        //pobiera wszystkie tablice zakodowane na json z bazy danych wylosowane
        #Nie rozumiem po co tutaj jest query skoro wszystko jest hardcoded. To juz lepiej wyciagnac to tutaj do kodu wartosci tych pol skoro to query i tak zwraca za kazdym razem to samo.
        $pobierz_losowania_zapytanie = "SELECT wylosowane FROM losowanie WHERE id='1'";
        $pobrane_losowania           = $obj_connect_db->query($pobierz_losowania_zapytanie, MYSQLI_STORE_RESULT);
        while (list($pobierz_losowania_zakodowane) = $pobrane_losowania->fetch_row()) {
            $pobrane_losowania_odkodowane = json_decode($pobierz_losowania_zakodowane, true);
        }
        //pobiera wszystkie tablice bar ktore sa zakodowane na json, z bazy danych uzytkownicy
        $nazwa_uzytkownika               = $_SESSION["sesyjna_nazwa_uzytkownika"];
        $pobierz_belki_aktywne_zapytanie = "SELECT bar FROM uzytkownicy WHERE username='$nazwa_uzytkownika'";
        $pobrane_belki_aktywne           = $obj_connect_db->query($pobierz_belki_aktywne_zapytanie, MYSQLI_STORE_RESULT);
        
        while (list($belki_aktywne_zakodowane) = $pobrane_belki_aktywne->fetch_row()) {
            $belki_aktywne_odkodowane = json_decode($belki_aktywne_zakodowane, true);
        }
        $policzone_belki_aktywne = count($belki_aktywne_odkodowane);
        if ($policzone_belki_aktywne > 0) {
            $licznik = ($policzone_belki_aktywne <= 10) ? $policzone_belki_aktywne - 1 : 11;
            
            $belki_aktywne_odkodowane = array_reverse($belki_aktywne_odkodowane);
            for ($belka = 0; $belka <= $licznik; $belka++) {
                echo ($belka % 2 == 0) ? "<div id=\"belka\">\n" : "<div id=\"belka2\">\n";
                
                echo "<div id=\"belka_podklad\">\n";
                echo "<div id=\"data_dodania_belki\">";
                echo ($belki_aktywne_odkodowane[$belka]["data"]);
                echo "</div>";
                
                for ($numer = 1; $numer <= 6; $numer++) {
                    echo "<div id=\"numer\">\n";
                    echo "<span id=\"numer\">";
                    echo ($belki_aktywne_odkodowane[$belka]["n" . $numer]);
                    echo "</span>";
                    echo "\n</div>\n";
                }
                
                echo "</div>\n";
                echo "</div>\n";
                echo "<div id=\"belka_info\">";
                if ($belki_aktywne_odkodowane[$belka]["sprawdzone"] == 0) {
                    echo "<div id=\"oczekuje\"></div>";
                } else {
                    echo "<div id=\"sprawdzone\"></div>";
                    if ($belki_aktywne_odkodowane[$belka]["nagrodzone"] == 0) {
                        $id_losowania = $belki_aktywne_odkodowane[$belka]["id"];
                        echo "<a href=\"?strona=sprawdz_belke&sprawdz_id=$id_losowania&belka=$belka\"><div id=\"plus\"></div></a>";
                    } else {
                        if ($belki_aktywne_odkodowane[$belka]["punkty"] !== 0) {
                            echo "<div id=\"dodane_punkty\">";
                            echo "+";
                            echo ($belki_aktywne_odkodowane[$belka]["punkty"]);
                            echo "pkt";
                            echo "</div>";
                        } else {
                            echo "0pkt";
                        }
                    }
                }
                echo "</div>";
            }
        } else {
            echo "Pusto";
            
        }
        
        
        echo "</div>";
    }
    Na twoim miejscu zmienilbym jeszcze ,,sprawdzone" ,,nagrodzone" itp na jakies pole w stylu ,,status" gdzie 0 to np oczekuje , 1 to sprawdzone, 2 nagrodzone i tak dalej.

    @Edit
    A co do db, to pokaz nam moze jak wygladaja sciezki na serwerze . Pamietaj tez ze unixy sa case sensitive i to co dziala na win nie dziala na linuxie z tego powodu ( to sie tyczy nazw plikow , nazw klas itp )

  8. #7
    Avatar BBsrv
    Data rejestracji
    2013
    Położenie
    50cm od monitora
    Wiek
    31
    Posty
    4,489
    Siła reputacji
    13

    Domyślny

    masz na serwerze włączone raportowanie błędów parsera?
    Kontakt ze mną:
    pw

  9. #8
    Avatar Malpa of Hell
    Data rejestracji
    2006
    Położenie
    Stargard
    Wiek
    30
    Posty
    556
    Siła reputacji
    19

    Domyślny

    To napewno ma dostep do $obj_connect_db wewnatrz funkcji?
    I tak jak napisal BBsrv, nie wyglada na to zebys mial bledy wlaczone (chyba ze sa logowane do plikow, sprawdz je w tym przypadku).
    Wplec to gdzies na gorze skryptu dla pewnosci:
    Kod PHP:
    error_reporting(E_ALL); 
    ini_set("display_errors", 1);

  10. #9

    Data rejestracji
    2012
    Położenie
    Tu i tam
    Wiek
    21
    Posty
    290
    Siła reputacji
    12

    Domyślny

    Cytuj Malpa of Hell napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    To napewno ma dostep do $obj_connect_db wewnatrz funkcji?
    I tak jak napisal BBsrv, nie wyglada na to zebys mial bledy wlaczone (chyba ze sa logowane do plikow, sprawdz je w tym przypadku).
    Wplec to gdzies na gorze skryptu dla pewnosci:
    Kod PHP:
    error_reporting(E_ALL); 
    ini_set("display_errors", 1);
    To mi pomogło. Wyszło, że ścieżka była niepoprawna. Użyłem jej tak jakbym był w pliku funkcji podczas jej wykonywania, a zapomniałem, że jest ona wywoływana z zupełnie innego miejsca. Błąd przez moją niewiedze.

    Dzięki.
    Ostatnio zmieniony przez Abe : 30-11-2013, 01:47

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. Odpowiedzi: 2
    Ostatni post: 15-06-2016, 23:28
  2. Odpowiedzi: 53
    Ostatni post: 03-01-2014, 16:11
  3. Skrypt PHP - przesyłanie danych z formularza php do pliku .txt
    Przez Żarówa2SR w dziale Sprzęt i oprogramowanie
    Odpowiedzi: 1
    Ostatni post: 24-10-2012, 17:06
  4. Serwer Dedykowany w Kimsufi.pl a Serwer RPS na ovh.pl!
    Przez CzasoMaczo w dziale Open Tibia Server
    Odpowiedzi: 10
    Ostatni post: 31-07-2009, 13:36

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •