Autor Zpráva
Karoloko
Profil *
Zdravím. Poradí zkušený programátor, jak můžu zjitit jestli existuje nějaká odeslaný proměnná $_POST[]? Nikdy nebudu vědět název proto ten dotaz. Děkuji uctivě za pomoc
Bertram
Profil
if(empty($_POST)){nic nepřišlo}
Kcko
Profil
Karoloko:
Zdravím. Poradí zkušený programátor

A do PHP manuálu, do úvodních kapitol jste se ráčil podívat?
Karoloko
Profil *
Bertram:
Díky moc ;)
Ben
Profil *
Bertram:
if(empty($_POST)){nic nepřišlo}

No jo jenže toto není stoprocentní a ani žádná z uvedených možností výše.

Co to zkusit třeba takto:

<?php
if($_SERVER["REQUEST_METHOD"] == "POST" ){
  //zpracovani POST dat
}
?>
Tori
Profil
Ben:
„if(empty($_POST)){nic nepřišlo}“
No jo jenže toto není stoprocentní
Můžete to trochu rozvést prosím? Za jakých okolností by to nemělo fungovat, resp. je možné poslat POST data s jinou metodou požadavku? I v manuálu se obdobný zápis používá (např. tady:
if ($_POST) 
// což v PHP odpovídá:
if (!empty($_POST)) 
o_O
Profil
janbarasek:
Neraďte nováčkům nesmysly.
Moderátor Majkl578: Vyhozeno.

Karoloko
Můžete využít funkcí empty, isset atd.

if(isset($_POST)){
  // zpracování, projde i prázdná proměnná
}
if(!empty($_POST)){
  // zpracování, prázdné proměnné neprojdou
}
Ben
Profil *
Tori:
Případ jedna:
$_POST je prázdná pokud je překročený limit velikosti dat pro direktivu post_max_size

Případ dva:
pokud formulář obsahuje samé checkboxy nebo select multiple a uživatel nic nevybere
Majkl578
Profil
[#9] o_O:
Nemůžeš testovat odeslání formuláře pomocí isset($_POST), jelikož $_POST je definované vždy, tudíž daná konstrukce vždy vrací TRUE.

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:

0