Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Undefined index ? Jak to rozwiązać
mablo
post 17.07.2005, 23:13:56
Post #1





Grupa: Zarejestrowani
Postów: 120
Pomógł: 1
Dołączył: 11.04.2005
Skąd: Poznań

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


mam taki błąd
Kod
Notice: Undefined index: c in F:\php\www\admin\includes\news.php on line 388

przy
  1. <?php
  2.  switch ($_GET['c']) {
  3.  
  4. case 'add':
  5.  if($_GET['status'] == 'add'){
  6. newsadd('add');
  7.  }else{
  8. newsadd('new');
  9.  }
  10.  break;
  11. ?>


Tym błędzie chodzi o że $_GET['c'] nie istnieje. Moje pytanie brzmi czy przejmować się taki błędami questionmark.gif Ewentualnie jak przerobić kod żeby nie było błędu questionmark.gif
Moje rozwiązanie błędu :

  1. <?php
  2. if(isset($_GET['c'])){
  3. $get = $_GET['c'];
  4. }else{
  5. $get = 'default';
  6. };
  7.  
  8. switch ($get) {
  9.  
  10. case 'add':
  11.  if($_GET['status'] == 'add'){
  12. newsadd('add');
  13.  }else{
  14. newsadd('new');
  15.  }
  16.  break;
  17.  case 'default':
  18.  newslist();
  19.  break;
  20. ?>
Co myślicie o tym rozwiązaniu questionmark.gif Czekam na wasz rozwiązanie błędu.
Go to the top of the page
+Quote Post
serafin
post 18.07.2005, 00:02:49
Post #2





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 23.11.2003
Skąd: Poznań

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


Nie slyszales o operatorze trojargumentowym questionmark.gif

$get = isset($_GET['c']) ? $_GET['c'] : 'default'; winksmiley.jpg


--------------------
Making IT works
Go to the top of the page
+Quote Post
mablo
post 18.07.2005, 00:47:51
Post #3





Grupa: Zarejestrowani
Postów: 120
Pomógł: 1
Dołączył: 11.04.2005
Skąd: Poznań

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


fajnie by było jak bys mi wyklumaczył o co chodzi bo
Kod
Jeszcze jednym operatorem warunkowym jest operator "?:" (tzw. ternariusz - operator trójargumentowy), dziaBajcy tak jak w C i wielu innych jzykach.

(expr1) ? (expr2) : (expr3);

Warto[ci wyra|enia jest expr2, je[li expr1 jest równe TRUE, lub expr3, je[li expr1 jest równe FALSE.
niewiele mi mowi
Go to the top of the page
+Quote Post
Pigula
post 18.07.2005, 07:19:05
Post #4





Grupa: Zarejestrowani
Postów: 446
Pomógł: 0
Dołączył: 5.03.2005
Skąd: Lublin

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


testujessz wartosc expr1 jezeli jest ona prawdziwa to wykonuje sie polecenie expr2 a jezeli falszywa to expr3. Odpowiadajacy temu if:
  1. <?php
  2. if (expr1)
  3.  expr2;
  4. else
  5.  expr3;
  6. ?>
Go to the top of the page
+Quote Post
mablo
post 18.07.2005, 14:05:59
Post #5





Grupa: Zarejestrowani
Postów: 120
Pomógł: 1
Dołączył: 11.04.2005
Skąd: Poznań

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


Cytat
Tym błędzie chodzi o że $_GET['c'] nie istnieje. Moje pytanie brzmi czy przejmować się taki błędami questionmark.gif


Powtarzam pytnie czy przejmować się taki błędami questionmark.gif
Go to the top of the page
+Quote Post
nospor
post 18.07.2005, 14:09:25
Post #6





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




Tak. Dla bezpieczeństwa skryptów i stron należy przejmować się każdymi błędami i robić wszystko aby ich nie było.


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

"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
sobstel
post 18.07.2005, 14:18:54
Post #7





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


no i przede wszystkim dla przejrzystosci. nie trzeba stosowac operatorow trojargumentowych. mozna np. robic sprawdzenie przez isset lub empty

  1. <?php
  2.  
  3. if (isset($_GET['var'])) {
  4. }
  5.  
  6. ?>


  1. <?php
  2.  
  3. if (!empty($_GET['var'])) {
  4. }
  5.  
  6. ?>


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
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: 22.06.2025 - 16:12