Autor Zpráva
Freedas
Profil
ahojte, doma používam na localhostu verzi 4.0.5, na serveru mi běží 4.3.10

třeba tento uplně banální skriptík


<? if (!$typ): echo "typ není zadán";

elseif($typ): echo "typ zadán - $typ";

endif; ?>


ve verzi 4.0.5. uplně v pohodě, ale 4.3.10ka ho nebere. Nevíte, jak poradit? Jsem z toho volaký zmetěný
Dero
Profil
Tyto alternativní zápisy dělají neplechu.

Používal bych standardní:


<? if (!$typ) {
echo "typ není zadán";
}
elseif($typ) {
echo "typ zadán - $typ";
}
?>
Honza Hučín
Profil
Případně echo ($typ ? "typ zadán - $typ" : "typ není zadán");
Dero
Profil
Ano, pro tento konkrétní případ je Honzova verze rozhodně použitelnější. :o)
DoubleThink
Profil *
Případně echo ($typ ? "typ zadán - $typ" : "typ není zadán");

mno na složitější podmínky už by to asi nebylo moc košér...
krteczek
Profil
a ještě asi jde o kontrolu dat z formuláře a u ní je nutne provést tohle:

<?php
//kontrola, jestli je z formuláře odeslána naplněna proměnná typ
if(isset($_POST["typ"]))
{
$typ=$_POST["typ"];
echo 'Typ byl vyplněn';
}
else
{
echo "Nevyplnili jste položku typ";
}
?>

snad ti to pomuže.
Jde o to, že v nových verzích je z bezpečnostních důvodů implicitně zakázáno globální pole proměnných...
krteczek

ps: je dobré si na domácim kompu nastavit "ukecaný" výpis. to znamená nastavit v php.ini položku
error_reporting = E_ALL
bez jakýchkoliv dalších parametrů u této položky.
a samozřejmě stáhnout a nainstalovat novější verzi php...
thingwath
Profil
Výchozí nastavení Register_globals se měnilo tuším v 4.2.0, nebo nějak tak. Ve verzi 4.3 už každopádně nikdy výchozí určitě nebylo.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0