Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pomoc w poprawie starszej wersji PHP na nowszą zgodnie z wymogami., Gotowa strona we Flash z AS3.0 oraz Framework z PHP
r3pilc3
post 22.07.2012, 15:01:11
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 22.07.2012

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


Witam :]
To mój 1szy post.
Mam nadzieję, że to forum bedzie przyjazne bez uszczypliwości o mojej nie najlepszej wiedzy na temat PHP czy opini na temat, że wróżka ma urlop i nie odpisze (bo nikt nie wie jakie mam z1000linii kodu).


Mam stronę działającą na zasadzie frameworka. Wieke plików.php z elementali javascript.
W XAMPP 1.7.1 (PHP 5.2.8) utworzyłem baze 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 żecz, że nowsza wersja PHP w XAMPP 1.7.7 napotyka błędy gdy prubuję wyświetlić stronę administratora.
Strona główna nie zawiera błędów. natomiast strona logowania administratora napotyka błedy. Oto strona dla wzrokowców: (zwróćcie uwagę, że obrazek się nie wyświetla)
http://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:
session_unregister($key);
zastąpiłem:
$_SESSION[$key]=$GLOBALS[$key];

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


"Teraz moja prośba o pomoc"
Wyświetla mi się jeszcze 1 błąd (6x pisze to samo)

Deprecated: Function eregi() is deprecated in (ŚcieżkaPliku\admin.php) on line 242

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

Więc pokażę Wam część kodu związaną z funkcją eregi

foreach($menus as $option){

if($option['activeon'])
foreach($option['activeon'] as $activeon){
if(eregi($action, $activeon)) {
$option['active']=true;
} }


Po zamianie funkcji eregi zgodnie z wymogami kod powinien wyglądać następująco:

foreach($menus as $option){

if($option['activeon'])
foreach($option['activeon'] as $activeon){
if(preg_match("/".$action."/i", $activeon)) {
$option['active']=true;
} }


lub zamiast if(preg_match("/".$action."/i", $activeon)) mozna wpisać if($action == $activeon)
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 obrazekk. 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 prosze o pomoc.
Odpada opcja wpisania w plik index.php wyłączenia raportowania błędów zamiast poprawić eregi:
error_reporting ('E_ALL ^E_DEPRECATED ^E_NOTICE');
Ponieważ wtey też obrazek się nie wyświetla.

To jest moje 1sze pytanie co nie tak z PREG_MATCH, który zastąpił przestarzałą funkcję eregi? smile.gif

///////////////////////////
///DRUGIE PYTANIE///
///////////////////////////
................
...w toku...
................
Pierw spróbuję wraz z Wami to rozwikłać

PROSZĘ O POMOC

Ten post edytował r3pilc3 22.07.2012, 15:10:10
Go to the top of the page
+Quote Post
!*!
post 22.07.2012, 15:11:24
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Umieszczaj kod w odpowiednich znacznikach na forum.

  1. foreach($menus as $option){
  2.  
  3. if($option['activeon'])
  4. foreach($option['activeon'] as $activeon){
  5. if(preg_match("/".$action."/i", $activeon)) {
  6. $option['active']=true;
  7. } }


Skąd te $action?


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
r3pilc3
post 29.07.2012, 10:26:35
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 22.07.2012

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


Problem rozwiązany.
Błąd był w pliku, który generował obraz oraz nalezało ten plik zapisać w kodowaniu ANSI a było kodowanie UTF-8.
Zamykam Temat.
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: 19.07.2025 - 18:54