Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Undefined offset: 1, Undefined offset: 1
nygus9928
post 24.10.2014, 17:57:37
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 19.10.2012

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


  1.  
  2. class Template {
  3. public $temp;
  4.  
  5. public $stemp;
  6.  
  7. public $track;
  8.  
  9. public $optype;
  10.  
  11. public $arr_elem;
  12.  
  13. public $temp_elem;
  14.  
  15. public $path = "templates/";
  16.  
  17. public $temp_name = "default";
  18.  
  19. public $ext = ".tpl";
  20.  
  21. public $arr_type = array("options","inputs");
  22.  
  23. public function render_page($tpl, $arr_data="", $directory="")
  24. {
  25. global $scms;
  26.  
  27. $directory = ($directory)? $directory."/" : $directory;
  28. $this->track = $this->path.$this->temp_name."/".$directory.$tpl.$this->ext;
  29. @$this->temp = file_get_contents($this->track);
  30.  
  31. if(empty($arr_data))
  32. return $this->temp;
  33.  
  34. if($this->temp)
  35. {
  36. foreach($arr_data as $elem => $val)
  37. {
  38. if(is_array($val))
  39. {
  40. $this->arr_elem = explode("-",$elem);
  41. $elem = $this->arr_elem[0];
  42. $this->temp_elem = substr($this->arr_elem[1], 0, -1);
  43. foreach($val as $attr => $op)
  44. {
  45. if(in_array($this->arr_elem[1] ,$this->arr_type))
  46. {
  47. switch($this->arr_elem[1])
  48. {
  49. case "options":
  50. $this->optype .= "<$this->temp_elem value=\"$attr\">$op</$this->temp_elem>";
  51. break;
  52.  
  53. case "inputs":
  54. $this->optype .= "$op<$this->temp_elem name=\"$attr\" />";
  55. break;
  56. }
  57. }
  58. else
  59. $this->optype .= $op;
  60. }
  61. $this->stemp = $this->optype;
  62. unset($this->optype);
  63. }
  64. else
  65. $this->stemp = $val;
  66.  
  67. $this->temp = str_replace("{tpl::$elem}", $this->stemp, $this->temp);
  68. }
  69.  
  70. $this->temp = preg_replace("({(.*?)})", "", $this->temp);
  71.  
  72. return $this->temp;
  73. }
  74. else
  75. return $this->track." not found<br />";
  76. }
  77.  
  78. public function __desctruct()
  79. {
  80. unset($this->temp);
  81. unset($this->stemp);
  82. unset($this->track);
  83. unset($this->arr_elem);
  84. unset($this->temp_elem);
  85. }


Wywala mi 1 błąd w 42 linijce i 6 błędów w 45.
Nie mam pojęcia co jest nie tak.

Ten post edytował nygus9928 24.10.2014, 17:58:17
Go to the top of the page
+Quote Post
kpt_lucek
post 24.10.2014, 18:28:49
Post #2





Grupa: Zarejestrowani
Postów: 428
Pomógł: 77
Dołączył: 10.07.2011
Skąd: Warszawa

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


Pokaż przykładowy $elem

albo lepiej,

  1. function render_page($tpl, $arr_data = "", $directory = "") {
  2. global $scms;
  3.  
  4. $directory = ($directory) ? $directory . "/" : $directory;
  5. $this->track = $this->path . $this->temp_name . "/" . $directory . $tpl . $this->ext;
  6. @$this->temp = file_get_contents($this->track);
  7.  
  8. if (empty($arr_data))
  9. return $this->temp;
  10.  
  11. if ($this->temp) {
  12. foreach ($arr_data as $elem => $val) {
  13. if (is_array($val)) {
  14. print_r($elem);
  15. }
  16. }
  17. die;
  18. } else
  19. return $this->track . " not found<br />";
  20. }


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


Cytat
There is a Bundle for that
Lukas Kahwe Smith - October 31th, 2014
Go to the top of the page
+Quote Post
nygus9928
post 24.10.2014, 18:43:09
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 19.10.2012

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


  1. 60. "site_slogan" => $scms->settings['site_slogan'],
  2. 61. "welcome_message" => ($scms->session['loggedin'])? $txt['user']['24']. " <a href=\"#\">".$scms->session['user']."</a>" : $txt['user']['27'],
  3. 62 ."players_online" => ($online)? $online : 0,


Notice: Undefined index: loggedin in C:\xampp\htdocs\1\inc\functions.php on line 61
wywala mi całkiem strone

Ten post edytował nygus9928 24.10.2014, 18:49:17
Go to the top of the page
+Quote Post
nospor
post 24.10.2014, 20:23:42
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Nie mam pojęcia co jest nie tak.
Toz wyraźnie ci napisalo, że dobierasz sie do inedksu 1, ktory nie istnieje.
w 42 i w 45 masz:
$this->temp_elem = substr($this->arr_elem[1], 0, -1);
if(in_array($this->arr_elem[1] ,$this->arr_type))

No i wszystko sie zgadza, bo w tych wlasnie linijkach dobierasz sie do indeksu 1. Komunikat bledu wyraźnie ci mowi, ze taki index nie istnieje. Czego nie rozumiesz?


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
nygus9928
post 24.10.2014, 21:03:11
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 19.10.2012

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


Cytat(nospor @ 24.10.2014, 21:23:42 ) *
Toz wyraźnie ci napisalo, że dobierasz sie do inedksu 1, ktory nie istnieje.
w 42 i w 45 masz:
$this->temp_elem = substr($this->arr_elem[1], 0, -1);
if(in_array($this->arr_elem[1] ,$this->arr_type))

No i wszystko sie zgadza, bo w tych wlasnie linijkach dobierasz sie do indeksu 1. Komunikat bledu wyraźnie ci mowi, ze taki index nie istnieje. Czego nie rozumiesz?


Ok. Nie sprecyzowałem. Widzę błąd i co oznacza. Pytanie co powinno być tym elementem. To kawałek kodu z control panelu.
Go to the top of the page
+Quote Post
nospor
post 24.10.2014, 21:41:41
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Tu:
$this->arr_elem = explode("-",$elem);
tworzysz tę nieszczesną tablice. Widac czasami, elem nie zawiera - przez co tworzy się tylko jeden element o indeksie 0. Nie wiem czy to prawidlowe czy nie, ze brak tam -. To twoj panel i powinienies to wiedziec a nie ja.
Jesli to prawidlowe, ze nie ma tam -, to poprostu zanim zaczniesz leciec do elementu 1, sprawdzaj czy taki istnieje.
Jesli to nie prawidlowe, ze nie ma tam -, to szuka bledu gdzies tam...


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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: 2.07.2025 - 08:39