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:
Kód:
    $priplatek_h = 2.00;
    $cena_a1 = 50.00;
    $cena_a2 = 60.00;
Pokud kliknete dole pod ceníkem na změnu cen, otevře se stránka kde můžete ceny (nebo příplatek) upravit.

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í:
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);
přičemž "$main" je soubor do kterého se data zapisují...
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ě..