Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] problem z $this
pawel06281990
post 30.12.2021, 22:14:06
Post #1





Grupa: Zarejestrowani
Postów: 298
Pomógł: 0
Dołączył: 10.01.2014

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


Witam,

Nie wiem dla czego działa mi $this na class mam taki komunikat.

Fatal error: Uncaught Error: Using $this when not in object context in /home/twoj-host/web/test.twoj-host.eu/public_html/wp-content/plugins/wp-zmarli/inc/function/function_licz.php:14 Stack trace: #0 /home/twoj-host/web/test.twoj-host.eu/public_html/wp-content/plugins/wp-zmarli/admin/zmarli_list.php(72): liczenie::count_sql() #1 /home/twoj-host/web/test.twoj-host.eu/public_html/wp-content/plugins/wp-zmarli/inc/instalation.php(78): require_once('/home/twoj-host...') #2 /home/twoj-host/web/test.twoj-host.eu/public_html/wp-includes/class-wp-hook.php(303): wp_zmarli->list_zmarli() #3 /home/twoj-host/web/test.twoj-host.eu/public_html/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters() #4 /home/twoj-host/web/test.twoj-host.eu/public_html/wp-includes/plugin.php(470): WP_Hook->do_action() #5 /home/twoj-host/web/test.twoj-host.eu/public_html/wp-admin/admin.php(259): do_action() #6 {main} thrown in /home/twoj-host/web/test.twoj-host.eu/public_html/wp-content/plugins/wp-zmarli/inc/function/function_licz.php on line 14

W witrynie wystąpił błąd krytyczny. W wiadomości wysłanej na adres e-mail administratora strony umieszczono dodatkowe instrukcje


a tak wygląda function count_sql()

  1. class liczenie extends wp_zmarli {
  2.  
  3. function count_sql($name_db, $wartosc =''){
  4.  
  5. $count_sql = $this->wpdb->get_var("SELECT COUNT($wartosc) FROM ".$name_db."");
  6.  
  7. if(!$count_sql){
  8. $count_sql .='0';
  9. }
  10. return $count_sql;
  11. }


A tak wygląda główna classa

  1. $wp_zmarli = new wp_zmarli();
  2. class wp_zmarli {
  3. private $wpdb;
  4.  
  5. private $wyszukiwarka_table;
  6. private $wygasa_table;
  7. private $parafianin_table;
  8. private $info_cmentarz_table;
  9. private $zapal_znicz_table;
  10. private $zapal_znicz_ile_table;
  11. private $groby_table;
  12. private $historia_zmarli_table;
  13. private $zamow_msze_email_templates_table;
  14. private $users;
  15.  
  16.  
  17. function wp_zmarli(){
  18. global $wpdb;
  19. $this->wpdb = $wpdb;
  20. $this->wyszukiwarka_table = $wpdb->prefix . 'wyszukiwarka';
  21. $this->wygasa_table = $wpdb->prefix . 'wygasa';
  22. $this->parafianin_table = $wpdb->prefix . 'parafianin';
  23. $this->info_cmentarz_table = $wpdb->prefix . 'info_cmentarz';
  24. $this->zapal_znicz_table = $wpdb->prefix . 'zapal_znicz';
  25. $this->zapal_znicz_ile_table = $wpdb->prefix . 'zapal_znicz_ile';
  26. $this->groby_table = $wpdb->prefix . 'groby';
  27. $this->historia_zmarli_table = $wpdb->prefix . 'historia_zmarli';
  28. $this->zamow_msze_email_templates_table = $wpdb->prefix . 'zamow_msze_email_templates';
  29. $this->users_table = $wpdb->prefix . 'users';
  30.  
  31.  
  32. require_once(WPNW_DIR.'/inc/function/function_licz.php');
  33. }


I próbowałem już wszystkiego co robię źle??. Pomóżcie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Neutral
post 31.12.2021, 17:27:13
Post #2





Grupa: Zarejestrowani
Postów: 286
Pomógł: 46
Dołączył: 10.01.2016

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


Wykonaj akcję A();, pobierz dane i przekieruj na akcję B();.
Go to the top of the page
+Quote Post
pawel06281990
post 31.12.2021, 18:07:44
Post #3





Grupa: Zarejestrowani
Postów: 298
Pomógł: 0
Dołączył: 10.01.2014

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


Cytat(Neutral @ 31.12.2021, 17:27:13 ) *
Wykonaj akcję A();, pobierz dane i przekieruj na akcję B();.


cały czas próbuje to zrobić

mam coś takiego

tak wygląda główny plik

  1. <?php
  2.  
  3. /*
  4.  * Instalator wtyczki | wp_zmarli
  5.  */
  6. global $wpdb;
  7.  
  8. $wp_zmarli = new wp_zmarli($wpdb);
  9.  
  10. class wp_zmarli {
  11.  
  12.  
  13. public $wpdb;
  14. public $wyszukiwarka_table;
  15. public $wygasa_table;
  16. public $parafianin_table;
  17. public $info_cmentarz_table;
  18. public $zapal_znicz_table;
  19. public $zapal_znicz_ile_table;
  20. public $groby_table;
  21. public $historia_zmarli_table;
  22. public $zamow_msze_email_templates_table;
  23. public $users;
  24.  
  25.  
  26. public function __construct($wpdb){
  27.  
  28. $this->wpdb = $wpdb;
  29. $this->wyszukiwarka_table = $wpdb->prefix.'wyszukiwarka';
  30. $this->wygasa_table = $wpdb->prefix.'wygasa';
  31. $this->parafianin_table = $wpdb->prefix.'parafianin';
  32. $this->info_cmentarz_table = $wpdb->prefix.'info_cmentarz';
  33. $this->zapal_znicz_table = $wpdb->prefix.'zapal_znicz';
  34. $this->zapal_znicz_ile_table = $wpdb->prefix.'zapal_znicz_ile';
  35. $this->groby_table = $wpdb->prefix.'groby';
  36. $this->historia_zmarli_table = $wpdb->prefix.'historia_zmarli';
  37. $this->zamow_msze_email_templates_table = $wpdb->prefix.'zamow_msze_email_templates';
  38. $this->users_table = $wpdb->prefix . 'users';
  39.  
  40. add_action('admin_menu', array( &$this, 'zmarli_add_menu' ));
  41. add_action('admin_head', array( &$this,'zmarli_load_textdomain') );
  42. add_action('admin_head', array( &$this,'include_requeried_scripts'));
  43. add_action('wp_head',array( &$this,'function_captchas'));
  44. add_action('admin_enqueue_scripts',array( &$this,'add_scripts_and_styles'));
  45.  
  46.  
  47. }
  48. public function include_requeried_scripts(){
  49. wp_enqueue_script('wp-color-picker');
  50. wp_enqueue_style( 'wp-color-picker' );
  51. }
  52.  
  53.  
  54. public function zmarli_add_menu(){
  55. add_menu_page(__('Zmarli', 'wp_zmarli'), __('Zmarli', 'wp_zmarli'), 'administrator', 'zmarli_main_page',array( &$this, 'zmarli_main_page'),ZMARLI_PATH.'assets/images/znicz.png',89);
  56. add_submenu_page( 'zmarli_main_page', 'Dodaj Zmarłych', __('Dodaj zmarłych', 'wp_zmarli'), 'administrator', '_add_zmarli', array( &$this, '_add_zmarli'));
  57. add_submenu_page( 'zmarli_main_page', 'Lista zmarłych', __('Lista zmarłych', 'wp_zmarli'), 'administrator', 'list_zmarli', array( &$this, 'list_zmarli'));
  58. add_submenu_page( 'zmarli_main_page', 'Opinie/błądy', __('Opinie/błądy', 'zmarli'), 'administrator', 'opinie_blad', array( &$this, 'opinie_blad'));
  59. add_submenu_page( 'zmarli_main_page', 'Zapalone znicze', __('Zapalone znicze ', 'zmarli'), 'administrator', 'zapal_znicz', array( &$this, 'zapal_znicz'));
  60. add_submenu_page( 'zmarli_main_page', __('Historia', 'wp_zmarli'), __('Historia', 'wp_zmarli'), 'administrator', 'zmarli_historia', array( &$this, 'zmarli_historia'));
  61. add_submenu_page( 'zmarli_main_page', __('Templatki e-mail opinie', 'wp_zmarli'), __('Templatki e-mail opinie', 'wp_zmarli'), 'administrator', 'zmarli_template', array( &$this, 'zmarli_template'));
  62. add_submenu_page( '', __('Edytuj Templatki e-mail opinie', 'wp_zmarli'), __('Edytuj Templatki e-mail opinie', 'wp_zmarli'), 'administrator', 'zmarli_edytuj_template', array( &$this, 'zmarli_edytuj_template'));
  63. add_submenu_page( 'zmarli_main_page', __('Ustawienia', 'wp_zmarli'), __('Ustawienia', 'wp_zmarli'), 'administrator', 'zmarli_setting',array( &$this, 'zmarli_setting'));
  64. add_submenu_page( 'zmarli_main_page', 'Pozostałe moduły', __('Pozostałe Moduły', 'wp_zmarli'), 'administrator', 'zmarli_moduly',array( &$this, 'zmarli_moduly'));
  65.  
  66. }
  67.  
  68.  
  69.  
  70. public function zmarli_main_page(){
  71. include_once WPNW_DIR.'/admin/zmarli_admin.php';
  72.  
  73. }
  74. public function _add_zmarli(){
  75. include_once WPNW_DIR.'/admin/zmarli_add.php';
  76.  
  77. }
  78.  
  79. public function list_zmarli(){
  80. require_once WPNW_DIR.'/admin/zmarli_list.php';
  81.  
  82. }
  83.  
  84. public function opinie_blad(){
  85. include_once WPNW_DIR.'/admin/zmarli_opinie_blady.php';
  86.  
  87. }
  88.  
  89.  
  90.  
  91. public function zapal_znicz(){
  92. include_once WPNW_DIR.'/admin/zmarli_zapalone_znicze.php';
  93. }
  94.  
  95. public function powiadomienia(){
  96. include_once WPNW_DIR.'/admin/zmarli_powiadomienia.php';
  97.  
  98. }
  99.  
  100. public function zmarli_historia(){
  101. include_once WPNW_DIR.'/admin/zmarli_historia.php';
  102.  
  103. }
  104.  
  105.  
  106. public function zmarli_template(){
  107. include_once WPNW_DIR.'/admin/zmarli_templatka_email.php';
  108. }
  109.  
  110.  
  111. public function zmarli_edytuj_template(){
  112. include_once WPNW_DIR.'/admin/zmarli_edytuj_templatki.php';
  113. }
  114.  
  115. public function zmarli_setting(){
  116. include_once WPNW_DIR.'/admin/zmarli_setting.php';
  117. }
  118.  
  119. public function zmarli_moduly(){
  120. include_once WPNW_DIR.'/admin/zmarli_moduly.php';
  121. }
  122.  
  123.  
  124. }
  125.  
  126. if(is_admin()){
  127. include(WPNW_DIR.'/inc/function/function_licz.php');
  128. $check_w_base = new check_w_base($wp_zmarli);
  129. }
  130.  
  131.  




a tak wygląda plik, do którego chce przekierować działanie $this

  1. <?php
  2.  
  3. /*
  4.  * Plik sprawdzający w bazie danych czy dane w danej tabeli się zgadzają .
  5.  */
  6.  
  7.  
  8.  
  9. class check_w_base extends wp_zmarli
  10. {
  11.  
  12. public function __construct($wpdb){
  13. $this->wpdb=$wpdb;
  14.  
  15. }
  16.  
  17. public function count_sql($name_db, $wartosc ='',$conditions=''){
  18. global $wpdb;
  19. $where = $conditions ? " WHERE ".$conditions : "";
  20. $count_sql = $this->wpdb->get_var("SELECT COUNT($wartosc) FROM ".$name_db.$where);
  21.  
  22. if($count_sql <=''){
  23. $count_sql .='0';
  24. }
  25. return $count_sql;
  26. }
  27.  
  28.  
  29.  
  30. function paginacja_zmarli($name_db,$limit, $wartosc ='', $where='', $sort=''){
  31. $query = "SELECT $wartosc FROM ".$name_db." $where ORDER BY $sort ASC";
  32. $dataa = new ZM_Paginate($limit);
  33. $data = $dataa->initialize($query,@$_REQUEST['paged']);
  34. $html ='<div class="tablenav-pages">';
  35. $dataa->paginate();
  36. $html .='</div>';
  37.  
  38. return $data; $dataa; $html;
  39. }
  40.  
  41.  
  42. function result_get_row($name_db, $wartosc ='', $conditions=''){
  43. $where = $conditions ? " WHERE ".$conditions : "";
  44. $result_get_row = $wpdb->get_row("SELECT $wartosc FROM ".$name_db.$where);
  45.  
  46. return $result_get_row;
  47. }
  48.  
  49.  
  50.  
  51.  
  52. function select_result($name_baza,$conditions=''){
  53. global $wpdb;
  54. $where = $conditions ? " WHERE ".$conditions : "";
  55. $select = $wpdb->get_results("SELECT * FROM ".$name_baza.$where);
  56.  
  57. return $select;
  58. }
  59.  
  60.  
  61. }
  62.  
  63.  
  64. ?>


i nadal nie działa.
Go to the top of the page
+Quote Post

Posty w temacie


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: 3.07.2025 - 02:09