Autor Zpráva
xavier32
Profil *
Mozete mi niekto prosim povedat preco mi funkcia is_numeric v tomto kode vzdy vracia v podmienku echo ? Ak moj formular ma v <select><option value="1">1</option</select> takto to pokracuje az po 6.

<?php
$titul_stranky = 'Kalkulacka';
include ('./zahlavi.inc');

function vzpocitat_suhrn ($mnozstvo, $cena, $danova_sadzba) {
$celkom = ($mnozstvo*$cena)*($danova_sadzba +1);
$celkom = number_format
($celkom,2,",", " ");
echo "<p>Objednali ste si <b> $mnozstvo </b> kus za jadnotkovu cenu <b>$cena</b> Sk.
Po pricitani danovej sadzby sa celkova cena rovna <b>$celkom Sk </b>.</p>\n";
}
if (is_numeric("mnozstvo")){
vzpocitat_suhrn ($mnozstvo, $cena, $danova_sadzba);
}else{
echo '<p><b>Zadajte prosim spravne mnozstvo pozadovaneho nakupu</b></p>';
}
include ('./pata.inc');

?>

NEviem nato prist. Skusal som is_numeric vymazat a nechat tam len samotnu premennu "mnozstvo" a to mi fungovalo. Ale ak si niekto vo formulari vyberie prvu polozku ktora je "Zadajte mnozstvo" tak to vrati uplnu blbost a prave tam by som potreboval to spominane echo.
Neviem ako keby funkcia is_numeric nedokazala rozoznat cislo od retazca. Mozno sa nieco nadstavuje v php.ini ale fakt neviem co .

Diky
centi
Profil
Problém bude tu:

if (is_numeric("mnozstvo"))

Funkcii is_numeric by sa malo predať nejaké číslo a v príklade je text "mnozstvo". Takže výsledkom tej funkcie bude vždy nepravda (lebo naozaj "mnozstvo" nie je číslo).

Takže:

if (is_numeric($mnozstvo))
centi
Profil
Teda oprava. Nemá sa jej predať číslo (inak by samotná funkcia nemala zmysel, že?), ale nejaká premenná. Vy však nepredávate premennú, ale priamo nejaký text, ktorý samozrejme nemôže byť číslo.
xavier32
Profil *
centi dik moc za vysvetlenie uz to ide ;-)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0