Autor Zpráva
David1256
Profil
<?php if (isset($_GET["s"]) && ($_GET["v"])) 
{$obsah=$s*$v;
echo NR.NR.NR.NR.NR.NR.NR.NR."Obsah trojúhejlníku je $obsah cm.";} ?>


Jak v tomto příkladě pohlídám to, když někdo nevyplní jeden z údajů, tak mu to napíše třeba nevyplnil jste potřebné údaje.
Webb
Profil
if($_GET["s"] != "") {
echo"Hodnota 's' nebyla definovaná";
} else {
blabla
}


plus to že přidáš ješte to v, a můžeš použíš isset nebo tak jak to mam já, to je jedno, konstrukce bude stejná.
panther
Profil
Webb:
přesně obráceně. Lépe bych kontroloval dvě podmínky: empty() - jestli bylo něco zadáno a pak jestli bylo zadáno číslo - pro každou z těch dvou podmínek jednoduchým ifem vypíšeš, jestli buď nebyla zadána hodnota, nebo nebyla číselná.
David1256
Profil
Jsem začátečník s php, takže bych byl moc rád, kdyby ste mi sem někdo napsal celý kód pořád mi to hlásí chybu.

<?php if (isset($_GET["s"]) && ($_GET["v"]))  
if empty(s) ;
 echo"Nevyplnil jste potřebné údaje"
{$obsah=$s*$v;
echo NR.NR.NR.NR.NR.NR.NR.NR."Obsah trojúhejlníku je $obsah cm.";} ?>
panther
Profil
David1256:
kdyby ste mi sem někdo napsal celý kód
tím se nic nenaučíš a za pár minut tu budeš zase.

Klikni si v tebou napsaném kódu v [#4] na název té které funkce, dostaneš se na manuál. Jsou tam i příklady.

1. ta podmínka i isset je špatně, resp. isset se vztahuje jen na první proměnnou, ne na druhou.
2. máš špatně syntaxi IFu
3. v parametru fce empty máš nějaké s. Kde jsi ho vzal? S není nic v tomto kódu, má tam být proměnná.
4. chybná syntaxe echa. Na konci ti něco chybí.
5. ty chlupaté závorky tam jsou taky nějaké divoké.
David1256
Profil
panther:
3. Jak tam mám dát proměnnou, když potřebuju zjistit jestli je prázdný ten input, ten však není proměnná.
Taps
Profil
David1256:
if empty($_GET['s'])
xmark
Profil
David1256, David1256:

<?php

if (isset($_GET["s"]) and  isset($_GET["v"])) {
  if (empty($_GET["s"]) or empty($_GET["v"]))
    { echo "Nevyplnil jste potřebné údaje"; }
  else
    { $obsah=$s*$v / 2;
      echo "Obsah trojúhelníku je ".$obsah." cm<sup>2</sup>.";
    }
  }
?>


Ta tvoje konstanta NR je hodně divoká. Odsazování se dělá jinak.
(opraven překlep)
David1256
Profil
Díky, jen si tam měl drobnou chybičku
<?php

if (isset($_GET["s"]) and  isset($_GET["v"])) {
  if (empty($_GET["s"]) or empty($_GET["v"]))
     echo "Nevyplnil jste potřebné údaje" ;
  else
    { $obsah=$s*$v / 2;
      echo "Obsah trojúhelníku je ".$obsah." cm<sup>2</sup>.";
    }
  }
?>


{ na radku 5 v prispevku #8
panther
Profil
David1256:
3. Jak tam mám dát proměnnou, když potřebuju zjistit jestli je prázdný ten input, ten však není proměnná.
měl bys začít základy PHP. Používáš podmínku isset, ale vůbec nevíš, čeho existenci testuješ. Máš tam $_GET['s'], pochybuji, že víš, co to znamená. Jinak bys tohle nemohl napsat.
xmark
Profil
David1256:
jj, měl jsem tam překlepů víc než bych chtěl. Sorry. Můžeš to považovat za něco, co tě donutilo o tom uvažovat a tudíž ti to pomohlo jinak :)
aknerats
Profil *
$req = array('s'=>'sirka','v'=>'vyska','x'=>'foo','y'=>'bar');
$errors = array();
foreach($req as $field => $title) 
  if(empty($_GET[$field)) $errors[] = $title;
if(sizeof($errors)>0) echo '<p class="error">Vyplňte následující pole: '.implode('<br/>',$errors).'</p>';

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: