Autor Zpráva
OOTL
Profil *
Ahoj, poradí někdo zkrácený zápis této podmínky? Děkuji

$c='<input ... value="'.if(isset($_POST['a'])){echo $_POST['a'];}.'" ... />';
Tori
Profil
OOTL:
echo tam nepatří. $promenna = "retezec" . (isset($_POST['a']) ? $_POST['a'] : '') . "retezec"; Závorky okolo výrazu (zvýrazněné) jsou v tomto případě nezbytné.
OOTL
Profil *
Díky, to je sice hezké, ale vidíš tam někde, že bych tam měl else?
Tori
Profil
OOTL:
No nemáte, a co?
OOTL
Profil *
No, že to bez toho else nefunguje :-( Hází to chybu...
Tori
Profil
Které nefunguje bez else, [#1] (syntaktická chyba při takovémto zápise, s else i bez něj) nebo [#2] (to bez else zapsat nejde)? Anebo tam tu else část nechcete? Nerozumím, oč jde.
OOTL
Profil *
To co jste mi poradila funguje jen tak jak jste to napsala, čili jako celek čili takto

(isset($_POST['a']) ? $_POST['a'] : '')

ale takto už to hází chybu

(isset($_POST['a']) ? $_POST['a'])

Díky
Kcko
Profil
OOTL:
No tak zcela logicky, jelikož ternární operátor vyžaduje 2 stavy, podmínku pro ano a podmínku pro ne. Najdete to v php manuálu v úvodních kapitolách.
OOTL
Profil *
Ale nebyla řeč o termálním operátoru ;) zcela jistě existuje i jiná možnost, ne? Díky
Kcko
Profil
OOTL:
Termální operátor neexistuje, možná jsi se chtěl bavit o termálním pramenu. Existují podmínky v PHP.

Bud použiješ ternární operátor, nebo pokud mermomocí chceš použít IF, tak jedině takto

<input type="text" name="cosi" <? if (podminka) echo "neco"; ?> />

if se spojením textových řetezců prostě nespojíš.
Joker
Profil
OOTL:
zcela jistě existuje i jiná možnost, ne?
Jistě, například IF.
$c = "předtím";
if (isset($_POST['a'])) $c .= $_POST['a'];
$c .= "potom";

Ale v čem nevyhovuje řešení od Tori?

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: