Autor | Zpráva | ||
---|---|---|---|
David1256 Profil |
#1 · Zasláno: 6. 7. 2010, 15:43:24
<?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 |
#2 · Zasláno: 6. 7. 2010, 15:54:25 · Upravil/a: Webb
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 |
#3 · Zasláno: 6. 7. 2010, 16:07:48
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 |
#4 · Zasláno: 6. 7. 2010, 16:14:50
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 |
#5 · Zasláno: 6. 7. 2010, 16:21:10 · Upravil/a: panther
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 |
#6 · Zasláno: 6. 7. 2010, 16:25:40
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 |
#7 · Zasláno: 6. 7. 2010, 16:46:22
David1256:
if empty($_GET['s']) |
||
xmark Profil |
#8 · Zasláno: 6. 7. 2010, 16:47:32 · Upravil/a: xmark
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 |
#9 · Zasláno: 6. 7. 2010, 17:02:18
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 |
#10 · Zasláno: 6. 7. 2010, 17:07:59
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 |
#11 · Zasláno: 6. 7. 2010, 17:08:00
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 * |
#12 · Zasláno: 6. 7. 2010, 18:18:52
$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>'; |
||
Časová prodleva: 14 let
|
0