Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Poprawa zawiadonień 'Notice', framework5.0 w XAMPP z php 5.4.4
r3pilc3
post
Post #1





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

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


Witam.
Mam frameworka 5.0
Otwierając go w XAMPP 1.8.0, który posiada php 5.4.4 nie wyświetlają się błędy (Warning).
Jak w głównym pliku index.php dodam pełne raportowanie błędów:
  1. error_reporting(E_ALL | E_STRICT);

To wyświetlają mi się zawiaomienia.
Prosze o pomoc w ich rozwiazaniu.

1) W pliku template.php wyświetla mi się 1 zawiadomienie:
-Notice: Use of undefined constant end - assumed 'end' in C:\xampp\htdocs\Sklep_jubilerski\core\classes\router.php on line 88
Oto linia 88:

i to jak dobrze rozumiem, muszę zamienić na:
  1. 'end'

Błąd się nie wyświetla więc myślę, że dobrze poprawiłem. "Jeśli się omylę to mnie poprawcie" -JPII.

Teraz reszta co nie umię poprawić:

2) W pliku sesion.php wyświetla mi się 1 zaiwadomienie:
-Notice: Undefined index: flash in C:\xampp\htdocs\Sklep_jubilerski\core\classes\session.php on line 15
Oto linia 15:
  1. $_SESSION[$key]=$GLOBALS[$key];


ps. Najpierw miałem w tej linii (jako framework5.0):

Wraz z nowszą wersją php 5.4.4 zgonie z wymogami zastapiłem właśnie na:
  1. $_SESSION[$key]=$GLOBALS[$key];

Czyli jak poprawiłem to już mi się Warning nie wyświetla -ale jest jakieś zawiadomienie, które nierozumie.

3)plik kolejny ma 1 zawiadomienie:
Notice: Undefined variable: args in C:\xampp\htdocs\Sklep_jubilerski\app\models\admin.php on line 27
Oto linia 27:
  1. return $args;



4) Plik catalog.php - 1 zawiadomienie się wyświetla:
-Notice: Undefined property: Registry::$addon in C:\xampp\htdocs\Sklep_jubilerski\app\models\catalog.php on line 10
Oto linia 10:
  1. $this->addon=$registry->addon;

co tu muszę poprawić?


4)plik kolejny ma 1 zawiadomienie:
Notice: Undefined variable: args in C:\xampp\htdocs\Sklep_jubilerski\app\models\admin.php on line 27
Oto linia 27:
  1. return $args;



5)W pliku admin.php wyświetlaja się reszta zawiadomień:

-Notice: Undefined index: sid in C:\xampp\htdocs\Sklep_jubilerski\app\controllers\admin.php on line 179
  1. if($_GET['sid']!='')

-Notice: Undefined index: Admin_login_details in C:\xampp\htdocs\Sklep_jubilerski\app\controllers\admin.php on line 187
  1. $this->template->set('login_details', $_SESSION['Admin_login_details']);

-Notice: Undefined index: Admin_login_details in C:\xampp\htdocs\Sklep_jubilerski\app\controllers\admin.php on line 188
  1. $this->template->set('availableLanguages', $this->model->admin->getAdminLanguages($_SESSION['Admin_login_details']['id']));

-Notice: Undefined variable: message in C:\xampp\htdocs\Sklep_jubilerski\app\controllers\admin.php on line 203
  1. $this->__checklogin($action,$controller,$args,$post,$message);

-Notice: Undefined index: activeon in C:\xampp\htdocs\Sklep_jubilerski\app\controllers\admin.php on line 240
  1. if($option['activeon'])

-Notice: Undefined index: submenu in C:\xampp\htdocs\Sklep_jubilerski\app\controllers\admin.php on line 247
  1. if($option['submenu'])

-Notice: Undefined index: active in C:\xampp\htdocs\Sklep_jubilerski\app\controllers\admin.php on line 259
-Notice: Undefined index: submenu in C:\xampp\htdocs\Sklep_jubilerski\app\controllers\admin.php on line 259
  1. array_push($menu,array('name'=>$option['name'],'url'=>$option['url'],'active'=>$option['active'], 'submenu'=>$option['submenu']));

-Notice: Undefined index: Admin in C:\xampp\htdocs\Sklep_jubilerski\app\controllers\admin.php on line 267
  1. if($_COOKIE['Admin']

-Notice: Undefined index: Admin in C:\xampp\htdocs\Sklep_jubilerski\app\controllers\admin.php on line 305
  1. $doLogin = $this->model->admin->check_cookie($_COOKIE['Admin']);


Bradzo proszę o pomoc.

Ten post edytował r3pilc3 31.07.2012, 15:45:56
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
r3pilc3
post
Post #2





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

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


Mam ostatni plik.php w którym mam zawiadomienia.
(To nie jest cały kod PHP tego pliku, tylko część kodu dotycząca logowania do panelu administracyjnego. Pozmieniałem w komunikatach poniżej - ..on line "NR" aby pasował nr komunikatu do linii kodu poniżej - aby nie trzeba było szukać.)

1)Notice: Undefined index: sid in C:\xampp\htdocs\sklep_jubilerski\app\controllers\admin.php on line 3
2)Notice: Undefined index: Admin_login_details in C:\xampp\htdocs\sklep_jubilerski\app\controllers\admin.php on line 11
3)Notice: Undefined index: Admin_login_details in C:\xampp\htdocs\sklep_jubilerski\app\controllers\admin.php on line 12
4)Notice: Undefined index: flash in C:\xampp\htdocs\sklep_jubilerski\app\controllers\admin.php on line 14
5)Notice: Undefined index: active in C:\xampp\htdocs\sklep_jubilerski\app\controllers\admin.php on line 83
6)Notice: Undefined index: submenu in C:\xampp\htdocs\sklep_jubilerski\app\controllers\admin.php on line 83
7)Notice: Undefined index: active in C:\xampp\htdocs\sklep_jubilerski\app\controllers\admin.php on line 83
8)Notice: Undefined index: active in C:\xampp\htdocs\sklep_jubilerski\app\controllers\admin.php on line 83
9)Notice: Undefined index: submenu in C:\xampp\htdocs\sklep_jubilerski\app\controllers\admin.php on line 83
10)Notice: Undefined index: active in C:\xampp\htdocs\sklep_jubilerski\app\controllers\admin.php on line 83
11)Notice: Undefined index: submenu in C:\xampp\htdocs\sklep_jubilerski\app\controllers\admin.php on line 83

  1. function BeforeFilter($action,$controller,$args=null,$post=null){
  2.  
  3. if($_GET['sid']!=''){
  4. //session_destroy();
  5. session_id($_GET['sid']);
  6. }
  7.  
  8.  
  9. $this->template->set('login_details', $_SESSION['Admin_login_details']);
  10. $this->template->set('availableLanguages', $this->model->admin->getAdminLanguages($_SESSION['Admin_login_details']['id']));
  11. $this->template->set('mainmenu', $this->__MainMenu($action));
  12. $this->template->set('flash', $_SESSION['flash']);
  13. $this->session->delete('flash');
  14.  
  15. if(strtolower($action)=='login' and !$post){
  16. $this->session->delete('MBeforeLoginTempA');
  17. $this->session->delete('MBeforeLoginTempM');
  18. }else{
  19. $args = '/'.$this->model->admin->make_args($args);
  20. }
  21.  
  22.  
  23. $released=array('login','passwordremind', 'passwordremindsent');
  24. if(!in_array(strtolower($action), $released)){
  25. $this->__checklogin($action,$controller,$args,$post,$message='1');
  26.  
  27. if(empty($_SESSION['Admin_login_details']['lang'])==true and $action!='Lang'){
  28. $this->__ChooseLanguage();
  29. if($action!='index') $this->router->redirect('admin/index');
  30. }
  31. }
  32.  
  33. }
  34.  
  35. function __ChooseLanguage($args=null,$post=null){
  36. $this->template->popup('prompt',$this->template->element('admin/flashLanguageSelection', array('languages' => $this->model->admin->getAdminLanguages($_SESSION['Admin_login_details']['id']))));
  37. }
  38.  
  39. function Lang($args=null,$post=null){
  40. $this->model->admin->changeAdminLanguage($args[0]);
  41.  
  42. $this->router->redirect('admin/index');
  43. }
  44.  
  45. function __MainMenu($action){
  46. $menus=array(
  47. 1=>array('name'=>'Zamówienia','url'=>'Orders','activeon'=>array('orders')),
  48. 2=>array('name'=>'Produkty','url'=>'Products','activeon'=>array('products','products_add','products_edit','products_categories'),
  49. 'submenu'=>array(
  50. 0=>array('name'=>'Nowy produkt','url'=>'Products_add','activeon'=>array('Products_add')),
  51. 1=>array('name'=>'Kategorie','url'=>'Products_categories','activeon'=>array('Products_categories'))
  52. )
  53. ),
  54. 3=>array('name'=>'Ustawienia','url'=>'Settings','activeon'=>array('settings')),
  55. 4=>array('name'=>'Wyloguj','url'=>'Logout')
  56. );
  57.  
  58. $menu=array();
  59.  
  60. foreach($menus as $option){
  61.  
  62. if(isset($option['activeon']))
  63. foreach($option['activeon'] as $activeon){
  64. if(preg_match("/{$action}/i", $activeon)){
  65. $option['active']=true;
  66. }
  67. }
  68. $i=0;
  69. if(isset($option['submenu']))
  70. foreach($option['submenu'] as $submenu){
  71. foreach($submenu['activeon'] as $active){
  72.  
  73. if(strtolower($action)==strtolower($active)){
  74. $option['submenu'][$i]['active']=true;
  75.  
  76. }
  77. }
  78. $i++;
  79. }
  80.  
  81. array_push($menu,array('name'=>$option['name'],'url'=>$option['url'],'active'=>$option['active'], 'submenu'=>$option['submenu']));
  82. }
  83.  
  84.  


Więc jak muszę wpisać aby przypisać wartości?
Podajcie proszę chociaż 1 przykład.
______________________________________________

W mojej głowie narodziły się pewne domysły:
-Kod był pisany pod XAMPP 1.7.1, który posiada PHP 5.2.9
-Ważne: Pod tą wersją PHP również po dodaniu pełnego raportowania błędów pokaują się te same zawiadomienia.

WIĘC zadaję sobie pytania:
- dlaczego autor olał te zawiadomienia
- co autor kodu miał na myśli pisząc go? - 'nie wiadomo na jaką wartość poprawić'
- czy jak dodam definicję własności np. addon, to czy nie zepsuję tego kodu jeszcze bardziej?
- do czego ma służyć np. addon, jakiego ma być typu?
- czy ma mieć jakąś wartość domyślną?
______________________________________

Nasuwa mi się nowe pytanie. Proszę abyście pomogli mi na nie odpowiedzieć?
-Jak sądzicie, czy jest sens zmieniać zawiadomienia czy po prostu mieć projekt bez pełnego raportowania błędów skoro jest tak wiele w zasadzie bardzo istotnych niewiadomych?

---------------------------------------------------------
---------------------------------------------------------

Poradziłem sobie z zawiadomieniami (IMG:style_emoticons/default/smile.gif)
Oto przykłady jak by było źle proszę o poprawę:

2)Zawiadomienie nr 2 z początku posta, które wymieniałem. Poprawilem na:
  1. $this->template->set('login_details', (isset($_SESSION['Admin_login_details'])?$_SESSION['Admin_login_details']:""));

Już zawiadomienie się nie wyświetla.

4)
  1. $this->template->set('flash', (isset( $_SESSION['flash'])? $_SESSION['flash']:""));


5) 6) 7) 8) 9) 10) 11) Analogicznie:
Dodałem linię wcześniej:
  1. if(isset($option['active']))


____
____

Zostały mi 2 zawiadomienia:

1) jak zamienię na:
  1. if($_GET['sid']!='' && isset($_GET['sid']))

To zawiadomienie nie znika. Prosze o pomoc co jest nie tak;

3) nie wiem jak zamienić, poniewaz jak zamienię na:
  1. $this->template->set('flash', (isset( $_SESSION['flash'])? $_SESSION['flash']:""));

to wyskakują 3 inne zawiadomienia i 1 błąd. To może tak być faktycznie i poprawić te 4 nowe komunikaty. Czy coś nie tak z tą poprawą?

Wyskakujące nowe komunikaty:
Notice: Uninitialized string offset: 0 in C:\xampp\htdocs\Sklep_jubilerski\app\views\layouts\default\admin.php on line 146
-Notice: Undefined variable: ftitle in C:\xampp\htdocs\Sklep_jubilerski\app\views\layouts\default\admin.php on line 146
-Warning: Illegal string offset 'content' in C:\xampp\htdocs\Sklep_jubilerski\app\views\layouts\default\admin.php on line 147
-Notice: Uninitialized string offset: 0 in C:\xampp\htdocs\Sklep_jubilerski\app\views\layouts\default\admin.php on line 147

  1. [/php]
  2. .....// tu kod nie tyczący się tego'
  3. <?php
  4.  
  5. if($flash){
  6. $ftitle['success']="Operacja zakończona powodzeniem";
  7. $ftitle['error']="Wystąpiły błędy";
  8.  
  9. echo '<script type="text/javascript">
  10. $(function() {
  11. $("#dialog").dialog({
  12. bgiframe: true,
  13. modal: true,
  14. autoOpen: true,
  15. width: 400,
  16. buttons: { "Ok": function() { $(this).dialog("close"); } }
  17. });
  18. });
  19. </script>
  20. ';
  21.  
  22. }
  23.  
  24. <div id="dialog" title="'.$ftitle[$flash['type']].'"> // linia 146
  25. '.$flash['content'].'
  26. </div>
  27. ';
  28.  
  29.  
  30. ?>
  31. </body>
  32. </html>


Jeszcze pod strona jak przesunę scrool w dół to jest 1 zawiaomienie, którego wcześniej nie widziałem:
Notice: Undefined variable: ftitle in C:\xampp\htdocs\Sklep_jubilerski\app\views\layouts\default\admin.php on line 146
Tyczy się kou PHP powyżej.

Proszę o pomoc

Ten post edytował r3pilc3 4.08.2012, 19:48:20
Go to the top of the page
+Quote Post

Posty w temacie
- r3pilc3   Poprawa zawiadonień 'Notice'   31.07.2012, 15:07:48
- - rzymek01   A po angielsku umiesz czytać? jeśli nie to pozosta...   31.07.2012, 17:01:45
- - rzymek01   pozwól, że zapytam czy kiedykolwiek pisałeś coś w ...   31.07.2012, 18:30:43
- - r3pilc3   Jestem początkujący. Dokładniej tłumacząc to 1sza ...   31.07.2012, 18:45:27
- - rzymek01   'Undefined index " to znaczy niezdefiniow...   31.07.2012, 18:49:29
- - r3pilc3   Czyli w ['...'] jest index? [PHP] pobierz,...   31.07.2012, 18:54:28
- - rzymek01   wybacz, nie mam ochoty o tym pisać, weź do ręki ku...   31.07.2012, 19:00:58
- - r3pilc3   Czyli jak mam index: Admin bez wartości to musze w...   31.07.2012, 19:05:00
- - rzymek01   nie ma takiej składowej klasy, nie ucz się z filmi...   31.07.2012, 19:15:41
- - r3pilc3   Tylko PHP. Nie odpuszczam. Naumie sie kiedys. Z o...   31.07.2012, 19:21:23
- - sazian   szczerze ? wyłącz raportowanie "na poziomie n...   1.08.2012, 22:09:36
- - Mephistofeles   Bzdura. Dobry kod nie powinien generować błędów.   1.08.2012, 22:28:38
- - r3pilc3   Sprawa tak się ma, ze nabyłem frameworka wersję 5....   2.08.2012, 12:34:04
|- - mls   Polecam, choć to naprawdę ostateczna opcja, zakup ...   2.08.2012, 18:08:09
- - r3pilc3   Dziękuję za poprawną poprawę. Już nie ma tego zawi...   2.08.2012, 18:41:30
- - rzymek01   proszę nie karmić trolla... ciagle z tym samym py...   2.08.2012, 18:49:38
- - r3pilc3   Dzieki za mobilizację. Pisałeś już o tym. Jestem r...   2.08.2012, 18:55:12
- - rzymek01   przeczytaj co pisał mls oraz moje wypowiedzi i jak...   2.08.2012, 19:05:12
- - r3pilc3   Proszę o wytłumaczenie jak mam przypisać tablicę[...   2.08.2012, 19:14:42
- - d3ut3r   Undefined index oznacza tyle, że klucz tablicy do ...   2.08.2012, 20:54:06
- - r3pilc3   Mam ostatni plik.php w którym mam zawiadomienia. (...   4.08.2012, 19:27:51


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

 



RSS Aktualny czas: 27.12.2025 - 21:23