Zdravim,
měl bych prosbičku co se týče PHP (viz nadpis).
pro nastínění situace:
- představte si ceník
- všechny ceny v tabulkách jsou definovány ze souboru např data.php
- pak tu máme "příplatek" (který se může měnit)
- a spodní ceník (viz odkaz) je vlastně součet horních cen + příplatek
tabulky definované v ceníku jsou takto:
Pokud kliknete dole pod ceníkem na změnu cen, otevře se stránka kde můžete ceny (nebo příplatek) upravit.Kód:$priplatek_h = 2.00; $cena_a1 = 50.00; $cena_a2 = 60.00;
Což o to nyní mi to funguje, ALE rád bych to ošetřil proti blbostem, poněvadž:
- napíšu-li cokoliv jiného než číslo = chyba
- napíšu-li číslo ale namísto tečky udělám čárku (což by se stalo asi několiksetkrát) = opět chyba
kamarád mi poradil cosi s funkcí (double) což řeší první problém
a to že napíšu-li místo čísla třeba slovo, systém jej zamění za hodnotu 0.00
ovšem druhý problém to stále neřeší...
Způsob jakým se přepisuje soubor je následující:
přičemž "$main" je soubor do kterého se data zapisují...Kód:if(isset($_POST['posting'])) { $p = $_POST; if(!is_double($p['priplatek_h'])) (double)$p['priplatek_h']; if(!is_double($p['cena_a1'])) (double)$p['cena_a1']; if(!is_double($p['cena_a2'])) (double)$p['cena_a2']; atd.. if(authorize($HTTP_POST_VARS["name"], $HTTP_POST_VARS["password"])) { $texty = ' $priplatek_h = '.$p["priplatek_h"].'; $cena_a1 = '.$p["cena_a1"].'; $cena_a2 = '.$p["cena_a2"].'; atd.. '; $f = fopen($main, "w+"); fwrite($f, $texty); fclose($f);
A soubor samozřejmně má atributy 777 čili umožněno čtení, zápis i vykonání.
Nápady, řešení ?
PS nejsem php programátor, čili prosím polopatě..