Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Wykonanie danej funkcji jeśli jest dany $_GET
Giluś
post 31.07.2011, 16:31:48
Post #1





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


Cześć robię pewien skrypt gdzie jak wejdę na localhost/index2.php?a=start lub np localhost/index2.php?a=pomoc - to podświetli mi się guzik:
Mam taki kod już:
  1. if ($_GET['a'] == 'pomoc') { $on2 = 'mnon';} else { $on2 = 'mnoff'; }

mnon - jeśli działa, mnoff jeśli nie działa - nie jest włączone aktualnie, - To działa w 100%, a chciałem zrobić coś takiego, że jeśli wejdę na podstronę np.: FAQ to podświetli mi się również pomoc wiec zrobiłem coś takiego:

  1. if ($_GET['a'] == 'pomoc' && 'faq') { $on2 = 'mnon';} else { $on2 = 'mnoff'; }

Rozumiem, że znaczek && oznacza LUB - tak ? to wtedy wychodzi coś takiego, "Jeśli get "a" jest taki sam jak pomoc lub faq to uruchamia zmienną $on2, a jeśli nie to uruchamia zmienną z else $on2.
Ten kod działa jeśli jest włączona pomoc, a jeśli jest włączone faq to już nie...

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
sadistic_son
post 31.07.2011, 16:44:26
Post #2





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Po pierwsze to jak już to tak powinno wyglądać:
  1. if ($_GET['a'] == 'pomoc' && $_GET['a'] == 'faq')
A po drugie && oznacza AND. A OR czy po polsku LUB wygląda tak: || albo OR.


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
lobopol
post 31.07.2011, 17:23:15
Post #3





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


Raczej tak powinno wyglądać:
  1. if (isset($_GET['a']) && ($_GET['a'] == 'pomoc' || $_GET['a'] == 'faq'))


Ten post edytował lobopol 31.07.2011, 17:24:04


--------------------
Go to the top of the page
+Quote Post
bastard13
post 31.07.2011, 17:36:45
Post #4





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


Tak powinno wyglądać twoje wyrażenie:
  1. array_key_exists('a', $_GET) && ($_GET['a'] === 'pomoc' || $_GET['a'] === 'faq')

A co było źle w Twoim?
  1. $_GET['a'] == 'pomoc' && 'faq'

Po pierwsze, tak jak napisał sadistic_son, to: && -> and, || -> or. Możesz też używać słów or i and. Interpreter da radęsmile.gif
Po drugie and lub or są łącznikami wyrażeń logicznych więc to co ty zrobiłeś to:
$_GET['a'] == 'pomoc' i 'faq', gdzie:
1) $_GET['a'] == 'pomoc' - równa się true, gdy wchodzisz na 'pomoc', a false, gdy na 'faq'
2) 'faq' - zawsze równe true

Ten post edytował bastard13 31.07.2011, 17:38:14


--------------------
Go to the top of the page
+Quote Post
lobopol
post 31.07.2011, 18:18:41
Post #5





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


W tym wypadku isset będzie się lepiej spisywał


--------------------
Go to the top of the page
+Quote Post
Giluś
post 1.08.2011, 09:49:27
Post #6





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


Troszkę już wszyscy pomieszaliście wink.gif) - Nie wiem która rozwiązanie jest za dobre: mam takie i działa:

  1. if ($_GET['a'] === 'pomoc' || 'faq') { $on = 'mnon';} else { $on = 'mnoff'; }


Można go jeszcze jakoś ulepszyć, zmodyfikować itp?

Ten post edytował Giluś 1.08.2011, 09:49:46
Go to the top of the page
+Quote Post
nospor
post 1.08.2011, 09:54:06
Post #7





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




Przecież ludzie podali ci gotowe kody, a ty je totalnie olałeś i jak miałeś bzdurnego potworka to masz nadal...

  1. if ($_GET['a'] === 'pomoc' || 'faq') echo 'To zawsze się wyswietli, nie ważne co dasz w a=';


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

"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
lobopol
post 1.08.2011, 09:54:49
Post #8





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


Nie
  1. if ($_GET['a'] === 'pomoc' || 'faq') { $on = 'mnon';} else { $on = 'mnoff'; }

a
  1. if (isset($_GET['a']) && ($_GET['a'] == 'pomoc' || $_GET['a'] == 'faq'))

lub (nieco wolniejsze, ale nie dużo)
  1. array_key_exists('a', $_GET) && ($_GET['a'] === 'pomoc' || $_GET['a'] === 'faq')


--------------------
Go to the top of the page
+Quote Post
Giluś
post 1.08.2011, 10:18:24
Post #9





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


Dzięki bardzo smile.gif))
POMÓGŁ poleciał do wszystkich który napisali posta w moim temacie wink.gif)
Pozdrawiam
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: 19.07.2025 - 10:24