Autor Zpráva
tomas12
Profil *
Zdravim vas,

narazil som na problem, kedy si neviem rady s jednou funkcou. Funkcia sa chova rozdielne, podla toho, ci do nej idu data odoslane metodou GET alebo metodou POST. A tuna som hned na razil na problem. Viete mi niekto poradit, ako zistim, akou metodou su data odoslane?

pre lepsi predstavu uvadzam kusok kodu

function Over($string) {
  if () { // tuna potrebujem overit ci je GET/POST, cize if premenna je poslana metodou GET
      .....
    return $string;
  }
  elseif () { //  if premenna je poslana metodou POST
    ......
    return $string;
  }
}


a pouzitie funkcie je:
$premenna=Over($_GET['nieco']);


dakujem za kazdu radu
tomas12
Profil *
alebo teda:
$premenna=Over($_POST['nieco']);
tomas12
Profil *
Teraz ma napadla ma sialenost, kedy si $string overim, ci sa v nom nachadza retazec bud $_POST alebo $_GET.
nieje ale neico ine, elegantnejsie?
Aichi
Profil
ne, proste overis jesti mas dany index v poli _GET nebo v poli _POST
tomas12
Profil *
Ahoj, prepac, nerozumiem presne ako si to myslel.
Myslis overenie typu:

if (!empty($_POST['name']) { // je POST
nightfish
Profil
tomas12
spíš
if (isset($_POST[$string])) { // je POST
...} else if (isset($_GET[$string])) { // je GET
}


akorát problém nastane, když bude tato proměnná figurovat v obou polích
tomas12
Profil *
no ano, toto aj mna napadlo, ale to by som musel pouzit funckiu takto:

$premenna=Over("nieco");


ja bohuzial nemozem nemit pouzitie funkcie, ktore je:
$premenna=Over($_POST['nieco']);
Yur4Y
Profil
Môžete použiť $_REQUEST['nieco'] a máte to najjednoduchšie.

tomas12
ja bohuzial nemozem nemit pouzitie funkcie, ktore je:
$premenna=Over($_POST['nieco']);

A čo vám bráni použiť jednoduché isset? Riešite to zbytočne komplikovane.
nightfish
Profil
tomas12
vidíš, to jsem si nevšiml, že používáš ne index pole, ale rovnou hodnotu...
možná by šlo použít nějaké kouzlo v podobě in_array(), ale spíš bych to řešil úplně jinak - pak je otázkou, čeho vlastně chceš dosáhnout
tomas12
Profil *
aha, no tak stacilo pouzit nieco taketo:

if ($_GET != "") {	//GET method


chlapi, diky moc za postrehy a cas
tomas12
Profil *
no, to som este ja.
Pre doplnenie, tak ani to nepomohlo, bolo jedno ci som parametre posielal cez GET alebo POST stale vyhodnocovalo TRUE

tyumto som svoj problem myslim konecne vyriesil:

	if ($_SERVER['REQUEST_METHOD']=='POST') {	//POST method


pre GET obdobne

snad to niekomu pomoze

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: