ForumCała strona

Nawigacja

Aktualnie online

Gości online: 14

Użytkowników online: 0

Łącznie użytkowników: 25,393
Najnowszy użytkownik: Assassin

Logowanie

Nazwa użytkownika

Hasło



Zarejestruj się

Odzyskaj hasło

Shoutbox

Musisz zalogować się, aby móc dodać wiadomość.

JazOOn
06.12.2024 23:45:46
Amen

Zbigniew@
17.11.2024 11:33:24
Nie ten grzeszy kto pije, ale ten, kto się nie upije.

JazOOn
16.11.2024 20:46:18
tja

Zbigniew@
15.11.2024 18:58:17
Kto pije, ten nie bije.

JazOOn
31.10.2024 20:49:47
Kto pije?

Pobierz nową wersję
Pobierz podręcznik
Zobacz inne oficjalne Supporty
Statystyki supportu
PHP-Fuson PL na Facebooku

RSS

Polecamy hosting SferaHost.pl

Zobacz temat

 Drukuj temat
Nie wyświetla się obrazek napisany w PHP po zmianie przestarzalej funkcji EREGI na nową PREG_MATCH
r3pilc3
Witam :]
Mam stronę działającą na zasadzie frameworka. Wieke plików.php z elementami JavaScript.
W XAMPP 1.7.1 (PHP 5.2.8) utworzyłem bazę danych powprowadzałem dane. Wyświetlam stronę localhost/nazwastrony i wszystko działa ;]
Strona jest OK!

Pragnę tą stronę mieć w XAMPP 1.7.7, który posiada wersję PHP 5.3.8.
W tym rzecz, że nowsza wersja PHP w XAMPP 1.7.7 napotyka błędy gdy próbuje wyświetlić stronę administratora.
Strona główna nie zawiera błędów. natomiast strona logowania administratora napotyka błędy. Oto strona dla wzrokowców: (zwróćcie uwagę, że obrazek się nie wyświetla).
i49.tinypic.com/24m8io8.jpg

Z jednym błędem, który się wyświetlał sobie poradziłem.
Funkcja sesion_unregister(), która zgodnie z nowymi wymogami jest 'zła' poprawiłem ją w sposób taki, że:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

zastąpiłem:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

i już się nie wyświetla ten błąd. Tak, więc został mi jeszcze jeden błąd.


"Teraz moja prośba o pomoc".
Wyświetla mi się jeszcze 1 błąd (6x pisze to samo):
Pobierz kod źródłowy  Rozwiń Kod źródłowy

Komunikat ten oznacza po prostu iż funkcja eregi z której wtedy korzystałem została zdeprecjonowana i należy ją zastąpić nowszym odpowiednikiem. Myślę, że tym odpowiednikiem jest preg_match().

Więc pokażę Wam część kodu związaną z funkcją eregi:
Pobierz kod źródłowy  Rozwiń Kod źródłowy


Po zamianie funkcji eregi zgodnie z wymogami kod powinien wyglądać następująco:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

można wpisać:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

tak i tak działa strona logowania działa bez wyświetlania się żadnych błędów na niej.

Problem w tym, że po zmianie EREGI na PREG_MATCH nie wyświetla mi się już w ogóle obrazek. A powinien się wyświetlać abym mógł przepisać z niego losowo generujący się kod w celu poprawnego zalogowania na stronie.

Nie wiem co jest nie tak. Jeśli ktoś wpadł na jakiś pomysł to proszę o pomoc.
Odpada opcja wpisania w plik index.php wyłączenia raportowania błędów zamiast poprawić eregi:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

Ponieważ wtedy też obrazek się nie wyświetla.

Co nie tak z funkcją PREG_MATCH, która zastąpiła przestarzałą funkcję EREGI?
Powinno być wszystko OK a tu w ogóle obrazek się nie wyświetla.

Proszę o pomoc.


PW od moderatora:
  1. Przeniesienie tematu - Drecha 22.07.2012 18:00

Edytowane przez Pieka dnia 27.07.2012 12:42:52
 
Wścibski Gość
Dodany dnia 22.12.2024 09:59:06
Pan Kontekstualny

Postów: n^x
Data rejestracji: Zawsze

Polecamy hosting SferaHost.pl
IP: localhost  
bartek124
Ten preg_match powinien rozwiązać sprawę. Być może jeszcze skrypt generujący obrazek zawiera jakieś błędy. Otwórz go w nowym oknie i sprawdź czy wyświetla coś niepożądanego.
userbar_bartek124_net.png mw.gif Nie pomagam na komunikatorach oraz PW!
 
www.bartek124.net
r3pilc3
bartek124 napisał(a):

Ten preg_match powinien rozwiązać sprawę. Być może jeszcze skrypt generujący obrazek zawiera jakieś błędy. Otwórz go w nowym oknie i sprawdź czy wyświetla coś niepożądanego.


Strona składa się z frameworka i nie dam rady tak komponować.
Jak włączę pełne raportowanie błędów to nie wyświetla mi się żaden błąd.

Jak już mówiłem w XAMPP 1.7.1 strona wyświetlał mi się prawidłowo.
Teraz mam XAMPP1.7.7 (PHP5.3.8)..
..i wyświetla mi się komunikat, że funkcja eregi jest przestarzała. Więc zamieniłem ją:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

na:
Pobierz kod źródłowy  Rozwiń Kod źródłowy



Zamieniłem eregi na preg_match i powinno być wszystko ok. Niestety w panelu logowania nie wyświetla się obrazek.
Myślę, że powinien skoro zrobiłem zamianę eregi na preg_match zgodnie z wymogami.
i50.tinypic.com/20tl3xj.png

Co może być nie tak? Jakieś pomysły?
Edytowane przez r3pilc3 dnia 26.07.2012 12:32:00
 
bartek124
Słuchaj, to rozumiem, ale obrazek captchy też jest generowany przez skrypt PHP i być może tam też istnieje jakiś błąd który uniemożliwia poprawne wygenerowanie.
userbar_bartek124_net.png mw.gif Nie pomagam na komunikatorach oraz PW!
 
www.bartek124.net
r3pilc3
Plik captcha.php:
Pobierz kod źródłowy  Rozwiń Kod źródłowy
 
bartek124
Poprawiony:
Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP


Plik z czcionką powinien być w tym samym folderze co plik captcha.php.
userbar_bartek124_net.png mw.gif Nie pomagam na komunikatorach oraz PW!
 
www.bartek124.net
r3pilc3
Tak, znajduje się w tej samej lokalizacji co plik captcha.php.

KOD pliku captcha.php
Pobierz kod źródłowy  Rozwiń Kod źródłowy


Wystarczyło zamienić w nim:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

Na:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

Oraz otworzyć plik w Notepad++ i zapisać kodowanie w ANSI (a miałem w UTF-8).
Problem rozwiązany:
http://i47.tinypi...3kyptu.png

Dziękuję Bartkowi124 za największe zaangażowanie i próbę pomocy.

Jednak tematu nie zamykam. Ponieważ mam kolejny problem.
Idę krok wyżej i z poprawy błędów występujących w XAMPP 1.7.7 postanowiłem przejść do najnowszego XAMPP 1.8.0.
Oraz dodatkow włączyłem w index.php pełne raportowanie błędów!

Tak więc, w XAMPP 1.8.0, który zawiera php w wersji 5.4.4 mój projekt sklepu internetowego napotyka następujące błędy:
1) strona główna mojej strony zawiera 2 Warningi i błędy, które się nie wyświetlają bez pełnego raportowania błędów:
http://i45.tinypi...upa7ty.png
2) posiadam w projekcie tylko stronę główną oraz stronę logowania w której występują następujące błędy:
http://i47.tinypi...oh0nit.png

Proszę bardzo o pomoc w rozwiązaniu tych błędów.
Narazie zajmnę się 2 Warningami, które doszły wraz z nowa wersją PHP 5.4.4

W pliku controller_base.php wyświetla się błąd w linii: 13 i 17, tylko 'to' trzeba poprawić.
Oto plik controller_base.php:
Pobierz kod źródłowy  Rozwiń Kod źródłowy


W pliku router.php warningi są w linii: 118 i 131 oraz błędy w linii: 88, 107 i 135.
plik: router.php:
(Napisałem w komentarzu gzie błędy żebyście nie musieli liczyć: //linia 88 itd..)

Pobierz kod źródłowy  Rozwiń Kod źródłowy

1 błąd 'Notice' rozwiązałem. Powiedźcie jak wiecie czy źle zrobiłem ale jestem pewien, że dobrze, skoro jest komunikat:
Notice: Use of undefined constant end - assumed 'end' in C:\xampp\htdocs\Sklep_jubilerski\core\classes\router.php on line 88
To należy w linii 88 co się znajduje: end; poprawić na: 'end';
Zapisałem zmiany i już ten błąd się nie wyświetla na stronie głównej i na stronie logowania.

Proszę o pomoc.
Wiem co znaczą niektóre z tych komunikatów ale nie wiem co trzeba w takim wypadku podjąć za kroki... aby poprawić stronę żeby działała.
Edytowane przez r3pilc3 dnia 30.07.2012 21:55:01
 
Przejdź do forum:
Created by Arox Copyright (C) 2004
Copyright (C) 2004 - 2018 Ekipa PHP-Fusion.pl