Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Problem - Notice: Undefined index
jero79
post 17.07.2012, 13:30:53
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 17.07.2012

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


Witam
Nie znam się kompletnie na PHP mam do ukończenia do końca tygodnia stronę internetową, a gość który mi ją przygotował jest na urlopie.
Czasami przy wprowadzaniu danych na stronę wyskakuje mi taki oto błąd:


( ! ) Notice: Undefined index: text in /home/mjerominek/domains/acteongroup.com/public_html/pl/eternity/modules/text/index.php on line 44
Call Stack
# Time Memory Function Location
1 0.0026 1545100 {main}( ) ../index.php:0
2 0.0289 1755772 module->load( ) ../index.php:106
3 0.0312 1776940 include( '/home/mjerominek/domains/acteongroup.com/public_html/pl/eternity/modules/text/index.php' ) ../module.class.php:29
[/b][/b]


Poniżej wklejam to co znajduje sie w pliku index.php


  1. <? /* Bartosz_Szczecinski btm@anfo.pl 20070810 0.6 1 */ ?>
  2. <?
  3.  
  4. require_once(dirname(__FILE__).'/api.class.php');
  5.  
  6. $text = new text();
  7.  
  8. if(!isset($_REQUEST['text']['type'])) $type = 'final';
  9. else {
  10. if(isset($_REQUEST['text']['type']['final']) && !empty($_REQUEST['text']['type']['final'])) $type = 'final';
  11. else if(isset($_REQUEST['text']['type']['wip']) && !empty($_REQUEST['text']['type']['wip'])) $type = 'wip';
  12. else if(isset($_REQUEST['text']['type']['backup']) && !empty($_REQUEST['text']['type']['backup'])) $type = 'backup';
  13. }
  14.  
  15. if(isset($_GET['delete'])) {
  16. $text->delete((int)$_GET['delete']);
  17. }
  18.  
  19.  
  20. if(isset($_POST['text'])) {
  21. if($type == 'backup' && !isset($_GET['source'])) {
  22. $content = $text->createBackup(array(
  23. 'editor' => $_SESSION['user_id'],
  24. 'text' => $_POST['text']['text'],
  25. 'module_id' => $_GET['module'],
  26. 'type' => 'backup'
  27. ));
  28. $_GET['source'] = $content['id'];
  29. }
  30. else {
  31. if(isset($_GET['source']) && $type != 'final') {
  32. $content = $text->update(array(
  33. 'editor' => $_SESSION['user_id'],
  34. 'text' => $_POST['text']['text']
  35. ), array(
  36. 'id' => $_GET['source'],
  37. 'module_id' => $_GET['module'],
  38. 'type' => $type
  39. ));
  40. }
  41. else {
  42. $content = $text->update(array(
  43. 'editor' => $_SESSION['user_id'],
  44. 'text' => $_POST['text']['text']
  45. ), array(
  46. 'module_id' => $_GET['module'],
  47. 'type' => $type
  48. ));
  49. }
  50.  
  51. }
  52. }
  53. else {
  54. if(isset($_GET['source'])) {
  55. $content = $text->read(array(
  56. 'id' => $_GET['source'],
  57. ));
  58. }
  59. else {
  60. $content = $text->read(array(
  61. 'module_id' => $_GET['module'],
  62. 'type' => $type,
  63. ));
  64. }
  65. }
  66.  
  67. $content['type'] = $type;
  68. $tpl->assign('text', $content);
  69.  
  70.  
  71. $tpl->assign('backups', $text->getBackups($_GET['module']));
  72. $page_templates[] = '../modules/text/templates/admin/default.tpl';




Proszę pomóźcie co trzeba zmienić aby to normalnie działało
Z góry dzięki

Ten post edytował jero79 17.07.2012, 13:52:49
Go to the top of the page
+Quote Post
strife
post 17.07.2012, 13:33:57
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Po pierwsze zmień nazwę tematu na bardziej opisującą problem ponieważ zostanie on zamknięty. Tutaj każdy ma problem i mało to mówi.

Błąd który masz to błąd typu Notice, co należy z tym zrobić masz w linku w mojej sygnaturze dot. Najczęstszych błędów popełnianych przez programistów.

A po trzecie przenoszę na Przedszkole.

PS. Jak będziesz poprawiał nazwę tematu to uwzględnij to: Temat: Tematyka i zasady panujace na forum Przedszkole

PS2. I jak dobrze zauważył kolega niżej wstaw kod w odpowiednie tagi.


--------------------
Go to the top of the page
+Quote Post
!*!
post 17.07.2012, 13:35:24
Post #3





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

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


Wstaw ten kod w odpowiednie tagi.


--------------------
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
piotrex41
post 17.07.2012, 13:36:52
Post #4





Grupa: Zarejestrowani
Postów: 168
Pomógł: 26
Dołączył: 15.09.2011
Skąd: Wrocław

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


Po 1. Kody wklejamy w odpowiednie tagi.
Po 2. Notice to nie błędy, są to informacje (notatki), które można (ALE SIĘ NIE POLECA) wygłuszyć, przez wpisanie:
  1. <?php
  2. error_reporting(E_ALL ^ E_NOTICE);
  3. ?>

Bardziej poleca się użyć isset() na zmiennej przed wykonaniem operacji.

Ten post edytował piotrex41 17.07.2012, 13:38:42


--------------------
www.piotrex41.pl - piotrex41 portfolio
d(-.-)b - Music is my life || PHP is my passion
Go to the top of the page
+Quote Post
jero79
post 17.07.2012, 13:59:26
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 17.07.2012

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


ale wiadomo co jest źle? co trzeba poprawić?
Tak jak pisałem jestem zielony a muszę skończyć wstawianie informacji na stronę

Jeśli to nie błąd tylko informacja to czemu nie wstawia mi tych danych które wstawiam na stronę?
Jeśli się pojawia muszę od nowa wpisywać
Często jest to po tym jak wstawiam zdjęcia, obrazki
Go to the top of the page
+Quote Post
peter13135
post 17.07.2012, 14:23:57
Post #6





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


Tak jak wyżej koledzy pisali, błąd ten pojawia się wtedy, gdy odwołujesz się do zmiennej która nie istnieje.
Przykład :
  1. $foo = 'bar';
  2. echo $foo;//zmienna foo istnieje, więc błędu tu nie będzie
  3. echo $bar;//ale zmienna bar nie istnieje, więc pojawi się błąd undefined
  4. [php]
  5.  
  6. Dlatego (o czym już też dostałeś informację...ale skoro nadal nie czaisz to dam przykład) jeśli nie jesteś pewny czy zmienna istnieje (lub element tablicy) musisz najpierw się upewnić. Możesz do tego użyć isset lub empty (w zależności od potrzeby).
  7. [php]
  8.  
  9. if(isset($_POST['jakies_pole']))
  10. {
  11. //formularz został wysłany, zmienna $_POST['jakies_pole'] istnieje i można ją wyświetlić, albo wykorzystać do innych obliczeń, czy czegokolwiek
  12. }
  13. else
  14. {
  15. //zmienna $_POST['jakies_pole'] nie istnieje. Jej wyświetlenie lub dowolne inne użycie spowoduje błąd undefined index
  16. }



--------------------
:)
Go to the top of the page
+Quote Post
jero79
post 17.07.2012, 14:30:43
Post #7





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 17.07.2012

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


ok widzę że nic z tego nie będzie
jak pisałem ja nie jestem programistą nie wiem o czym piszecie, liczyłem że podpowiecie co robię źle lub ewentualnie co mam zmienić w tym moim pliku index.php

Zastanawia mnie tylko czemu to się pokazuje tylko w niektórych przypadkach.
Np. miałem wstawione 10 zdjęć, jedno usunąłem i się to nie pojawiło, a przy tych 10 zawsze.
Go to the top of the page
+Quote Post
strife
post 17.07.2012, 14:35:16
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Cytat(jero79 @ 17.07.2012, 15:30:43 ) *
ok widzę że nic z tego nie będzie
jak pisałem ja nie jestem programistą nie wiem o czym piszecie, liczyłem że podpowiecie co robię źle lub ewentualnie co mam zmienić w tym moim pliku index.php

Zastanawia mnie tylko czemu to się pokazuje tylko w niektórych przypadkach.
Np. miałem wstawione 10 zdjęć, jedno usunąłem i się to nie pojawiło, a przy tych 10 zawsze.

Ludzie poświęcają swój wolny czas aby Ci pomóc, a Ty piszesz, że "ok widzę że nic z tego nie będzie", nie uważasz że jest to lekko przesadzone?

Dostałeś powyżej kilka odpowiedzi, które bez problemu pomogą Ci się pozbyć tego błędu. Wystarczy chwilę pomyśleć i to poprawić.

Jeżeli z góry zakładasz, że nie jesteś programistą i nie wiesz o czy piszemy, to zapraszamy do odpowiedniego działu "Giełda ofert" w celu napisania oferty dotyczącej pozbycia się błędu za odpowiednie wynagrodzenie.

Pozdrawiam serdecznie.


--------------------
Go to the top of the page
+Quote Post
piotrex41
post 17.07.2012, 14:38:31
Post #9





Grupa: Zarejestrowani
Postów: 168
Pomógł: 26
Dołączył: 15.09.2011
Skąd: Wrocław

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


Cytat
liczyłem że podpowiecie co robię źle lub ewentualnie co mam zmienić w tym moim pliku index.php

No to właśnie usiłujemy Ci podpowiedzieć, pomóc, naprowadzić, ale nawet nie spróbowałeś coś pokombinować z kodem po naszych radach, skoro nie wykazujesz inicjatywy, to nie zrobimy tego za Ciebie. Gotowca raczej nie dostaniesz, a z Twojego podejścia i nastawienia można wnioskować, że właśnie na to liczysz.
Chociaż spróbuj, pomożemy jeśli będziesz chciał samemu pokombinować, ale jak założysz ręce i powiesz "ja nie umiem, zróbcie mi to" to niestety nie masz na co liczyć.


--------------------
www.piotrex41.pl - piotrex41 portfolio
d(-.-)b - Music is my life || PHP is my passion
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: 15.06.2025 - 20:02