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).
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?

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