Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wykonanie danej funkcji jeśli jest dany $_GET
Forum PHP.pl > Forum > Przedszkole
Giluś
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...

sadistic_son
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.
lobopol
Raczej tak powinno wyglądać:
  1. if (isset($_GET['a']) && ($_GET['a'] == 'pomoc' || $_GET['a'] == 'faq'))
bastard13
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
lobopol
W tym wypadku isset będzie się lepiej spisywał
Giluś
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?
nospor
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=';
lobopol
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')
Giluś
Dzięki bardzo smile.gif))
POMÓGŁ poleciał do wszystkich który napisali posta w moim temacie wink.gif)
Pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.