PHP in decimalke
 
HeXeR 7. jul 2007 21:07:39 Pridružen od:
13. dec 2006
3268 objav
122 22 5
#11

number_format($rezultat, 2, ',', ' ')



mi vrne 1E-06


if(isset($_POST["vrednost"]))
{
if(is_numeric(abs(protect($_POST["vrednost"]))))
{
if(is_numeric(abs(protect($_POST["zacetna_enota"]))))
{
if(is_numeric(abs(protect($_POST["koncna_enota"]))))
{
$rezultat = abs(protect($_POST["vrednost"])) * abs(protect($_POST["zacetna_enota"])) / abs(protect($_POST["koncna_enota"]));
} else { $rezultat = "Prosim vnesi število."; }
} else { $rezultat = "Prosim vnesi število."; }
} else { $rezultat = "Prosim vnesi število."; }
}

$POST["vrednost"] = 1

$
POST["zacetnaenota"] = 1

$
POST["koncna_enota"] = 1000000


všeč(0) ni všeč(0) spam(0)
First rule of business, protect your investment.
 
Vini 7. jul 2007 23:07:02 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#12

Pojma nimam, kaj ti pocenjas, ampak tudi naslednja zadeva:


echo number_format('1E-06',6,',','');

prav lepo prikaze 0,000001



Koda z vsemi tistimi abs() in protect() je pa hudo smesna :) Kaj pocenja protect()?


všeč(0) ni všeč(0) spam(0)
 
HeXeR 7. jul 2007 23:07:23 Pridružen od:
13. dec 2006
3268 objav
122 22 5
#13
function protect($string) {
$string = mysql_escape_string(strip_tags(htmlspecialchars($string)));
return $string;
}

Edit:



prehitro pa preverč na enkrat :(



3 outpute sem mel pa sem na enem probal ... pogledal pa drugi ...



zdaj dela.



Hvala


všeč(0) ni všeč(0) spam(0)
First rule of business, protect your investment.
 
Vini 8. jul 2007 10:07:45 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#14

Si ti rahlo paranoicen? V tem primeru ne rabis vseh teh escapov in strip_tags in htmlspecialchars :)



Povsem varna koda je naslednja:


if (isset($_POST["vrednost"]) && is_numeric($_POST["vrednost"]) &&
isset($_POST["zacetna_enota"]) && is_numeric($_POST["zacetna_enota"]) &&
isset($_POST["koncna_enota"]) && is_numeric($_POST["koncna_enota"])) {
$rezultat = abs($_POST["vrednost"]) * abs($_POST["zacetna_enota"]) / abs($_POST["koncna_enota"]);
}
else $rezultat = "Prosim vnesi število.";

Ce ti funkcija is_numeric() vrne TRUE, potem sigurno nimas v spremenljivki nic drugega, kot stevilko, torej ne more biti notri nobenih HTML tagov, nobenih narekovajev, in tako naprej... Zakaj vidis potrebo po escapanju narekovajev? Zapisujes te spremenljivke v bazo? Vidis kje moznost SQL injectiona, ce sploh ne vpisujes zadeve v SQL?



Ce pomislim, da si v neki temi imel pomisleke glede uporabe isset(), ker je kao pocasna funkcija, ajoj :)


všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se