Autor Zpráva
Jurko
Profil *
Ahoj

když budu mít proměnou

$aaa = false;


a budu jí chtít otestovat podmínkou, která z nich bude platit?

!empty
empty
!isset
isset


Děkuji
dtr
Profil *
druhá a čtvrtá
DarkMeni
Profil
Když víš na 100% že proměnná bude logická (true nebo false) tak můžeš použít i negaci:
if(!$promenna){
  //$Proměnná je nastavena na false
}else{
  //$Proměnná je nastavena na true
}

Záleží na tom co chceš testovat.
isset testuje jestli proměnná existuje a empty testuje jestli je prázdná
...Kdyžtak první a čtvrtá (prázdná není, obsahuje false)
dtr
Profil *
Jinak já si taky přihřeju polívčičku. Chtěl jsem položit novou otázku, ale jelikož je to taky o podmínkách, tak to vložím sem :)

IDE i PHP na serveru mi hlásí, že toto je syntakticky špatně:

if(isset($_POST['do']) && $_POST['do'] == 'save') {
  // nejaky kod
}


Co označuje jako špatně, je vyznačeno(tedy vše za &&). Mě se to ale zdá správně, vidíte tam někde chybu?
dtr
Profil *
Vložilo to tam  

tak znovu:

if(isset($_POST['do']) && $_POST['do'] == 'save') {

foreach($_POST as $pst) {
echo "$pst<br />";
}

}
dtr
Profil *
Tak vložením toho prvního kódu sem mi napovědělo, že je za tím && nějaký zvláštní znak, který asi není tak úplně "validní" mezerou. Proto mi to tady vypsalo &nbsp; a proto php a IDE řvalo. Což je zvláštní, přísahal bych, že jsem tu mezeru dělal normálně mezerníkem, ale už se mi to dnes jednou stalo. Tuto "mezeru" jsem smazal, a už to jede. Ale je to záhada.
//omlouvám se za zneužití cizího příspěvku ;)
Nox
Profil
J, myslim že to tak je, taky se mi to už stalo... myslim že s shift+mezerník
Jurko
Profil *
DarkMeni:
Když víš na 100% že proměnná bude logická (true nebo false) tak můžeš použít i negaci:
To nevím, můj problém je v tom, že mi to píše: Notice: Undefined index: aaa ....

v kodu mám

if($aaa=='ok') echo "Proběhlo vše úspěšně!";


tak jsem myslel, že když vložím před tu podmínku

$aaa = false;


tak že to bude ok, hláška sice zmizela ale nevím jestli je to v pořádku...

Díky
pcmanik
Profil
Jurko:
Lepsie je definovat prazdnu premmenu, teda
$aaa = "";
DarkMeni
Profil
Jurko:
Notice: Undefined index: aaa ....
Netestuješ náhodou proměnnou? Hm... udefined index, to sem viděl jen když jsem měl povolený zobrazování chyb a poznámek a k tomu byla chyba v tom že jsem použil pole s neexistujícím indexem, u nedefinované proměnné jsem dostával hlášky typu undefined variable.
A jestli ta proměnná má existovat a zobrazí se ti poznámka když ji nepředefinuješ tak to v pořádku není, nemáš ji náhodou tahat z odeslaného formuláře? (Takové proměnné se tahají podle metody odeslání buď $_GET["promenna"] nebo $_POST["promenna"] a nebo když metodu nevíš tak na obojí platí $_REQUEST["promenna"])

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